一个简单C语言题目的疑惑,希望解疑

来源:百度知道 编辑:UC知道 时间:2024/06/14 01:13:04
题目如下:
#include "stdio.h"
main()
{
int n=0;
while(n++<=2);printf("%d",n);
}
答案:4(以编程证明正确)
疑惑:我觉得应该是3吧,最后一次(3++<2)不成立,应该不会输出n啊,可答案为什么????

n++ 是n 先跟 2 比较再++;
那么n<=2肯定是成立的
比较后++变成了3,
然后循环 3 <=2 不成立
n 再++ 退出循环
那么n 也就是4了呀

因为(3++<2)不成立所以就输出n了,然后因为是n++,所以输出4

n++是先使用n在进行+1,所以是4

n++
先取n 的值 再自增 2++<=2 此时n的值为三
(3++<2)不成立 就不可能输出4了 循环结束了 你再运行一下
但是根据这个 我认为也是3