咖喱饭咖喱 发表于 2017-11-4 16:21:52

求助求助

main()        
 {  int n; 
           scanf ("%d",&n);            
if(n++<10)  
printf ("%d\n",n); 
           else 
printf("%d\n",n--);       
}

为什么这个程序输入        9得出10?

小蒙 发表于 2017-11-4 16:31:17

本帖最后由 小蒙 于 2017-11-4 16:36 编辑

n++<10是先用n和10对比,然后递增n,并且是在第二次遇到n的时候n才会显示出递增后的值。上面第三句话要好好理解。明白了后,把序列点相关知识补上。

BngThea 发表于 2017-11-4 17:02:38

if n++<10
等价于
if n<10
{
n++;
//do if
}

咖喱饭咖喱 发表于 2017-11-4 18:04:36

刚仔细看完序列点知识,谢谢你的回答。

小蒙 发表于 2017-11-4 18:57:35

咖喱饭咖喱 发表于 2017-11-4 18:04
刚仔细看完序列点知识,谢谢你的回答。

我也是刚学,不用谢。
页: [1]
查看完整版本: 求助求助