回 帖 发 新 帖 刷新版面

主题:一个看不明的程序。

main()
{
    int x=10,y=10,I;
    for(I=0;I>8;I++)
    printf("%d%d",x--,y);
}
为什么输出是的10 10 9 1的?郁闷中!

回复列表 (共21个回复)

11 楼


复制你的就有问题,什么都没有输出,自己打上去自后,就能输出了!

12 楼

逻辑错误  你真有才

13 楼


这两个输出肯定都是一样的。在这里,有无“{}”是没有关系的啊!

14 楼


for循环()内是分号

15 楼

main()
{
   int x=10,y=10,i;
   for(i=0,i>8,i++);
   printf("%d%d",x--,y);
}

main()
{
   int x=10,y=10,i;
   for(i=0,i>8,i++);
   {printf("%d%d",x--,y);}
}
是同一个意思

16 楼

一定是其他原因,换台电脑试试

17 楼

我试了,什么也没打出来

18 楼

应该一次都不执行吧,毕竟for语句中的条件二为假,不会执行printf语句的

19 楼

很简单呀。for(I=0;I>8;I++)不运行,因为I的初始值为0,所以条件I>8不成立,跳出for循环,(此时x与y的值没变,x=10,y=10。)直接到printf("%d%d",x--,y);
[em1][em12]

你代码有错,应该为:
main()
{
    int x=10,y=10,I;
    for(I=0;I>8;I++);//加一个分号
    printf("%d%d",x--,y);
}
就可以得到你想要的值了。

20 楼

你代码有错,应该为:
main()
{
    int x=10,y=10,I;
    for(I=0;I>8;I++);//加一个分号
    printf("%d%d",x--,y);
}
就可以得到你想要的值了。[em12]

我来回复

您尚未登录,请登录后再回复。点此登录或注册