老牛来学习 发表于 2020-3-25 19:12:43

C语言



这一题为什么运行结果是314
程序是怎么运行的?

sunrise085 发表于 2020-3-25 20:37:08

for循环三次
第一次的时候scanf读到-12,分别赋值给a b,a<b,所以执行t=b-a=3,然后输出3
第二次的时候scanf读到 33,分别赋值给a b,a=b,所以执行t =   1,然后输出1
第三次的时候scanf读到 62,分别赋值给a b,a>b,所以执行t=a-b=4,然后输出4
最终看到的输出结果就是314

XYcarpenter 发表于 2020-3-25 21:35:51


for循环三次
第一次的时候scanf读到-12,分别赋值给a b,a<b,所以执行t=b-a=3,然后输出3
第二次的时候scanf读到 33,分别赋值给a b,a=b,所以执行t =   1,然后输出1
第三次的时候scanf读到 62,分别赋值给a b,a>b,所以执行t=a-b=4,然后输出4
最终看到的输出结果就是314
我刚输入代码运行结果确实是314,我是初学者,也不知道具体意思,听您讲解后就清晰了,感谢您的指导!

老牛来学习 发表于 2020-3-25 21:50:26

sunrise085 发表于 2020-3-25 20:37
for循环三次
第一次的时候scanf读到-12,分别赋值给a b,ab,所以执行t=a-b=4,然后输出4
最终看到的输 ...

像这种不应该是循环一次输入一次吗,
这样一次性输入,数据待在内存里,每循环一次自动读取内存里的两个数?

chxchxkkk 发表于 2020-3-25 23:44:38

老牛来学习 发表于 2020-3-25 21:50
像这种不应该是循环一次输入一次吗,
这样一次性输入,数据待在内存里,每循环一次自动读取内存里的两个 ...

一次输入,scanf依次从缓冲区读取两个数,只到循环结束
页: [1]
查看完整版本: C语言