C语言程序设计习题
main(){intx,i;for(i=1;i<=100;i++){x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf(“...
main( ) { int x,i; for (i=1;i<=100;i++) { x=i; if (++x%2==0) if (++x%3==0) if (++x%7==0)
printf(“%d”,x); }
printf(“\n”); }
请问具体过程和结果是什么呢 展开
printf(“%d”,x); }
printf(“\n”); }
请问具体过程和结果是什么呢 展开
2个回答
展开全部
这个考察的是运算符的优先级的问题,和++的细节问题。
++的优先级高于%,而且++x是先让x自加再运算。
比如当i=1时,x=1,
if (++x%2==0)//++x先执行,所以x=2 ,2%2==0为真
if (++x%3==0) //x=3 也为真
if (++x%7==0) //x=4,为假
printf(“%d”,x);
所以该程序时找出这样一个x,他加一后能被2整除,再加一后能被3整除,再加一后能被7整除。输出这样的x。(当然从1-100中找)
++的优先级高于%,而且++x是先让x自加再运算。
比如当i=1时,x=1,
if (++x%2==0)//++x先执行,所以x=2 ,2%2==0为真
if (++x%3==0) //x=3 也为真
if (++x%7==0) //x=4,为假
printf(“%d”,x);
所以该程序时找出这样一个x,他加一后能被2整除,再加一后能被3整除,再加一后能被7整除。输出这样的x。(当然从1-100中找)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询