请问这道C语言程序阅读题答案为什么是x=3,y=6麻烦帮我分析一下?

C语言中 y=((x=3*y,x+1),x-1)是什么意思~

这是考试题?
考逗号表达式吗?你这个问题本身就有问题,你的y没有初值。我只能假设y=1分析给你看
首先计算x=3*y,结果赋给x,假设是3;
然后计算x+1,用上面的结果就是3+1了,就是4.
逗号表达式取最右边表达式的结果赋值。那么
(x=3*y,x+1)
这个表达式的结果就是4.
在计算y=(4,x-1),你应该就明白了。x刚才是赋值过为3了,那么x-1=2;同理,
y=((x=3*y,x+1),x-1)
实际赋值为y=2,同时x有第一个表达式赋值为3.

这个是结果是逗号表达式的值,即最最右边的表达式的值,即y*x+6的值,x的值是2,y的值是5,所以y*x+6=10+6=16,z的值是16

[0,9) 之间整数,能被3整除的情况x++,否则y++
所以x在i=0,3,6的情况,x自增1
y在i=1,2,4,5,7,8的情况,y自增1
所以x=3,y=6

i从0-8循环
if判断是不是3的倍数,是的话x自加,不是的话y自加
因此0,3,6是3的倍数,x=3,剩下y=6

请问这道C语言程序阅读题是怎么分析的,答案为什么是这个,谢谢啦
答:这个程序中的递归函数写错了。程序执行时,会造成“死递归”从而系统栈溢出,没有输出的。

1道c语言程序阅读题求解,有过程一定采纳!
答:i=0,s=2,i=1,s=8,i=2,s=17,i=3,s=19。答案是19。

请问这道C语言程序阅读题是怎么分析的,答案是x=3.y=6?
答:i从0到8,只要i能被3整除,x(用作计数)就+1。i可以取0 3 6 ,x就是3

请问这道C语言程序阅读题答案为什么是x=3,y=6麻烦帮我分析一下?_百度...
答:所以x在i=0,3,6的情况,x自增1 y在i=1,2,4,5,7,8的情况,y自增1 所以x=3,y=6

一道c语言程序阅读题
答:楼上的错了,正确答案是 2 5 20 其中2和5之间是4个空格,5和20之间是3个空格 原因:第一个数是k,k在整个程序执行过程中没有发生变化,所以还是2 第二个数是m,同上,所以还是5 第三个数是f[m],也就是f[5]的值,下面是步骤:第一个循环赋值以后,f[0]到f[5]都为1 f[k-1]...

C语言 阅读程序题 求高手解答
答:(1)1,2,3 /*c为局部变量*/ 1,2,5 /*c为全局变量*/ (2)6 /* static int 表示静态变量*/ (3)求字符串长度 (4)y=876 (5)9876 (6)**1***3 (7)(题应该打错了 是 '||' 还有1应该为i吧)统计英文字母的个数 ...

一道C语言程序阅读题,问题如下
答:a[0] = 'x', a[1] = 'y', a[2] = 'z', a[3] = '\0',后面的元素应该也都是自动初始化为'\0'。紧接着声明两个指针变量:p = a, *p1;p指向数组a的第一个元素的地址a[0],没有为p1指定要指向的地址,系统随机分配一个地址。第一个for循环:从a[0]开始,让p依次指向数组...

C语言程序阅读题?
答:这个程序有BUG,执行时极可能报告段错误(segmentation fault)。错误原因在于:指针p没有初始化。--- 如果:char s[] = "123456789", *p, i = 0;改为:char s[] = "123456789", *p = s, i = 0;那么:程序输出结果为:*2*4*6*8 原因:当i = 0,2,4,6,8时,if条件i%2 == ...

c语言问题:阅读下列程序,则执行后的结果为 #include"stdio.h" main...
答:就是输出 c[2][2] c[1][1] 十六进制形式 c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56} 4个数为一行,也就是 几行4列的二维数组 总共16个数 就是 4行4列 数组的下标从0开始的 所以 C[1][1] 表示的就是第二行第二列的数 也就是6 所以...

C语言阅读程序题
答:初始,i=10, j=8 i>++j 先j自加为9, i>j不成立, 于是 m=j=9 然后是逗号运算符,从左到右依次计算。 i没意义,忽略。 i--, 自减为9, i+j=9+9=18 于是n=18 输出 9,9 9,18

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网