这个C语言程序的输出是Ab,如何理解它

发布于 科技 2024-02-24
14个回答
  1. 匿名用户2024-01-25

    main()

    char c1='a',c2='a',*p1,*p2;

    p1=&c1;P1 指向 C1

    p2=&c2;P2 指向 C2

    fun(p1,p2);这是 p1、p2。 不是c1,c2,我们来看一下函数。

    printf("%c%c",c1,c2);所以,在这一点上,C1的含量没有变化,C2增加了1,所以结果是ab

    void fun(char *a,char*b),其中 a 指向 p1,b 指向 p2

    a=b;这里A指向B,也就是P2,所以此时A指向C2,C1还是自己的原来,没有变化。

    a)++ 这里 A 的内容现在是自递增的,即 C2 的内容是自递增的,即从 A 到 B,现在又回到了 main 函数。

  2. 匿名用户2024-01-24

    我也是初学者,看到指针就头疼,但是每次看到指针,我都会问三个问题,指针指向什么类型,指针指向什么类型,指针本身是什么类型,弄清楚这三个问题,我发现我可以解决很多问题。

    char c1='a',c2='a',*p1,*p2;定义字符类型的指针,指向字符类型。

    p1=&c1;p2=&c2;p1 指向 c1='a',p2 指向 c2='a'

    之后,调用 fun 函数以传入实参数 p1 和 p2

    a=b 是 p1=p2,p1 不再等于 &c1,p1=p2=&c2,c1 没有错。

    a)++ 这句话移动 c2,a=p1=&c2,*a=*p1=c2='a'再加一个括号再加一个,字符就应该用ASCII码加。

    计算97+1=98,b的ASCII码是98,让打印的是C1,C2,显然C1没有变成A,C2变成了B,所以结果是打印AB

  3. 匿名用户2024-01-23

    只需解释有趣的功能即可。

    首先,第一行的趣味功能。

    a=b;这说明A现在指向的是B所指向的内存空间,其含义是,对A的运算实际上是对B指向的内存空间中的数据的运算。

    下一个。 *a) 表示 A 指向的内存空间,这里是 B 指向的内存空间。

    最终结果必须是 ab,因为 b=a+1;B 的 ASCII 码值比 B 的 ASCII 码值大一号。

  4. 匿名用户2024-01-22

    指针传入,指针由赋值语句(a=b)改变,指针由(*a)++改变原来的变量c2,所以前者无用,后者有用。 所以有这个结果。

  5. 匿名用户2024-01-21

    在执行以下 C 程序时,如果输入 ABC,则输出为 ABC6789,因为 GETS 输入字符串 ABC 并将其重新分配给数组 ss;

    在这种情况下,只有 abc 存储在 ss 中,然后使用 strcat 将字符串 6789 添加到 abc 的末尾(覆盖 abc 末尾的字符串'\0'),然后添加'\0'。所有最终结果均ABC6789。

    仅为某些元素分配初始值,而未分配初始值的元素会自动分配值 0。 为每行的前两列分配一个值,并为未分配值 0 的元素类型悄悄分配。

  6. 匿名用户2024-01-20

    总结。 a++ 和 ++a 的区别在于 a++ 先赋值后计算,而 ++a 则相反。

    用输入 a=10 和输出 a++ 和 ++a 结果 c 语言编写一个程序。

    a++ 和 ++a 的区别在于 a++ 先赋值后计算,而 ++a 则相反。

  7. 匿名用户2024-01-19

    选择C,答案是0

    C>B>A 从左到右绑定,等价于: (C>B) > AC 的值是 3,B 的值是 2,所以 C>B 等价于 3>2,这是真的,所以它是 1(C>B>所以 A 等价于 1>A,因为 A 的值是 1, 所以 1>1 是假的,它是 0

  8. 匿名用户2024-01-18

    1 a=b=c=1;++a||+b&&+c;执行后,输出 a、b 和 c 分别为 2、1 和 1。

    2 ++a||+b&&+c;此语句将仅执行 ++a,而 ++b&&+c 不会执行。 C语言在做 ||算术时,如果第一个操作数 ++a 为 true(非零),则直接返回 true,而不计算第二个操作数 ++b&&+c。

  9. 匿名用户2024-01-17

    a=2,b=1,c=1;

    因为 ++a 的结果不是 0,||未执行以下语句,因此 b 和 c 的值没有更改。

  10. 匿名用户2024-01-16

    ++a||+b&&+c 和 ++a||(b&&+c) 等效,++a 为真 (++b&&+c) 不执行。 所以:

    a=2;b=1;

    c=1;

  11. 匿名用户2024-01-15

    2 1 1;

    A是真的,我以后不做!

  12. 匿名用户2024-01-14

    运行后,x[3][4] 内容如下:

    a b c \0

    a b c \0

    a b c \0

    a[0][0]),内容的开头是:'a',腔体的输出是 abc(a[1][1]) by string,开头的内容是'b',圆背串的输出是bc(a[2][2]),开头的内容是'c',字符串的输出是 c,因为恒禄这个输出是问题的结果。

  13. 匿名用户2024-01-13

    d.该问题测试对程序操作的理解和计算机入门的基础知识。从问题<>的输入开始运行<>,开始赋值<>,此时 A 是 7 而不是 1,<>“Get <>”运行,即此时运行结果<>,最终输出为 <>

    值是 7 和 13,所以答案是 d

  14. 匿名用户2024-01-12

    首先,这个程序的输出不是ab c,而是:abc

    因为在键入 ab 后,当您按 Enter 键时,您将在缓冲区中输入换行符'',所以在字符变量 A 和 B 分别接收到字符 A 和 B 后,字符变量 C 接收字符'',然后字符变量 d 接收字符'c',所以输出:ABC

相关回答
13个回答2024-02-24

int 的范围太小,如果一个数字的 n 次方大于 int 的范围,那么该数字就会溢出,导致 sum 的值不正确。 >>>More

17个回答2024-02-24

在计算机中,没有原始或反向代码。

输入的值,无论是正值还是负值,都会被编译并存储为补码。 >>>More

14个回答2024-02-24

在 VisualStudio 2013 中编写和调试 C 语言程序的步骤: 1.打开 [文件] - 新建 - 项目以打开“新建项目”窗口。2. 在[模板]、[名称]、[位置]和[解决方案名称]中选择[Visual C++] Win32控制台应用程序,可以根据需要填写。 >>>More

7个回答2024-02-24

#include

int main() >>>More

13个回答2024-02-24

int i, j;

int *p = i; >>>More