c语言程序问题(为何退不出for循环?)
#include"stdio.h“main(){inti;for(i=0,printf("first=%d",i);\i<10,printf("second=%d",i)...
#include "stdio.h“
main()
{
int i;
for(i=0,printf("first=%d",i);\
i<10,printf("second=%d",i);\
i++,printf("third=%d",i))
{
printf("fourth=%d",i);
;
}
system("pause") ;
}
程序拼命打印 i值,即使i超过了10 也照常打印,没有跳出for循环.求大神解释! 展开
main()
{
int i;
for(i=0,printf("first=%d",i);\
i<10,printf("second=%d",i);\
i++,printf("third=%d",i))
{
printf("fourth=%d",i);
;
}
system("pause") ;
}
程序拼命打印 i值,即使i超过了10 也照常打印,没有跳出for循环.求大神解释! 展开
2个回答
展开全部
for循环的判断条件是i<10,printf("second=%d",i),而由于逗号运算符返回的是其右边的变量,因此整个表达式的值是printf("second=%d",i)的返回值,除非打印失败,否则printf返回的都应该是非0值,导致for循环的判断总是为真……
更多追问追答
追问
是不是 指 i<10,printf("second=%d",i);这个表达式里面 主要是因为 i<10, ←这里这个逗号导致语句返回的是这个逗号右边的printf("second=%d",i)的值 所以导致for循环判断条件永久成立.除非打印失败!
追答
对
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询