作业帮 > 综合 > 作业

详细说明下C语言程序怎么运行的,结果是什么

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/15 05:07:35
详细说明下C语言程序怎么运行的,结果是什么
main ()
{ int x=10,y=10,i;
for(i=0;x>8;y=++i)}
printf("%d%d",x--,y);
这个程序有错,第一,大括弧打错了.第二,用了printf没用stdio.h.#include
void main ()
{
int x=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d%d",x--,y);
}
这是我改的.但我突然发现有一步我也搞不明白,求高人.
再问: 第一轮 i=0;x>8; y=++i 输出的不是 x=10,y=1 吗 第二轮 i=1;x>8;y=++i 输出x=9,y=2 第三次 i=3 x>8不成立 直接输出 x=10 y=10吗?
再答: 不是这样啊,你循环的顺序你都没搞清楚, 先i=0; 其次x>8; 然后打印语句, 最后再y=++i;
再问: 执行表达式3的时候 输出 printf("%d%d\n",x--,y); x不是先输出后自减吗 那应该是输出10啊 输出完在-
再答: 那答案不就是 10 10 9 1 吗? 兄弟,给个采纳行吗?
再问: 我也想给啊 但我想问的你没懂 我刚刚的意思是 执行表达式3的时候 输出 printf("%d%d\n",x--,y); x不是先输出后自减吗 那应该是输出10啊 输出完在- 那答案不是变成10 10 10 1的吗 还有i=0;x>8;成立后是执行 int x=10,y=10,i;这个语句吗 这2个问题回答详细点我就采纳了 谢谢
再答: 你理解错了 是每循环一次打印x的值就变一次 不是全部打印完后才-- 第一次输出10,10,输出之后 x的值就变9了,下一次打印9后,x的值又变了 #include void main () { int x=10,y=10,i; for(i=0;x>8;y=++i) printf("%d%d\n",x--,y); printf("%d\n",x); } 你可以运行一下看看x的值是不是变成8了