下列程序中,for循环执行的次数是: }

#include<stdio.h>
#define N 2
#define M N+1
#define NUM (M+1)*M/2
void main( )
{
int i,n=0;
for(i=1;1<=NUM;i++)
{
n++;
printf("%d",n);
}
printf("\n");
}

8次
因为#define其实是字符从替换,所以NUM用(M+1)*M/2来替换,而M用N+1来替换,也就变成(N+1+1)*N+1/2,而N用2替换,就变成(2+1+1)*2+1/2=8,所以是8次
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-06-19
一楼说的都对,但i小于等于NUM,循环该是9次

下列程序中,for循环执行的次数是: }
8次 因为#define其实是字符从替换,所以NUM用(M+1)*M\/2来替换,而M用N+1来替换,也就变成(N+1+1)*N+1\/2,而N用2替换,就变成(2+1+1)*2+1\/2=8,所以是8次

[c]下面程序段中,for循环的执行次数是
6次,你的字符串中总共有6个字符:'\\t', 'a', '\\01'(这个字符是用8进制表示的,注意不可能是'108'的,8进制最大的数字是7), '8', 'b', 'c'你可以用下面这个程序具体执行看一下:include <stdio.h> int main(void){ char *s = "\\ta\\018bc";for(; *s!='\\0'; s++) { ...

以下for循环的执行次数是 for(x=0,y=0;(y=123)&&(x<4);x++);()。 A...
运行完第4次后,x=4,已经不满足for循环执行条件((y=123)&&(x<4)为假)。。。

下列for循环的循环体执行次数为___. For(int i=0,j=10;i=j=10;i++...
1.for循环里的语句确实只有三个,用分号“;”隔开 i=j=10为赋值表达式,永远为真,所以该for循环的判断条件永远为真,会无限次循环

以下for循环的执行次数是 for (x=0,y=0; (y=123) && (x<4);x++)_百...
所以整个语句等价for (x=0,y=0;x<4;x++),所以应该是四次,如下代码运行可以说明 include<stdio.h> int main(){ int x,y,i=0;for (x=0,y=0;(y=123)&&(x<4);x++)i++;printf("%d",i);} 上面的i用于统计循环次数!楼主,以上是我的看法,如有不正确,请指正!谢谢!

以下for循环的执行次数是 for (x=0,y=0; (y=123) && (x<4);x++)_百...
C ) 4 次 x=0; x <4 真! 1 次 x=1; x <4 真! 2 次 x=2; x <4 真! 3 次 x=3; x <4 真! 4 次 x=4; x <4 非!y = 123 , 并不是 y == 123 y = 123 是将 y 赋值为 123 , 成功赋值即为 真!所以 y 那一块一直都是'真'的 ...

以下for循环的执行次数是
for(x=0,y=0;(y=123)&&(x<4);x++);y=123恒为真。运行完第4次后,x=4,已经不满足for循环执行条件。

以下for循环体的执行次数是? {inti,j; for(i=0,j=1;i<=j+1;i+=2,j...
第一次 i=0,j=1时执行,执行后i=2,j=0。执行第二次前,i=2,j=0,i<=j+1不成立,因此不再执行循环。因此for循环体的执行次数是一次。

以下for循环的执行次数是 for (x=0,y=0; (y=123) && (x<4);++x)_百...
0次循环,不会运行的,y没有和123相等的条件,而且判断相等应该用==。在循环中++x和x++没有区别。

以下的for循环执行了几次 for(x=0;x<4; x + + ); A.是无限循环 B.执行...
执行了四次,分别是x=0,1,2,3时执行循环,学习编程,建议多调试运行,这样学习更有感觉,兴趣会增加不少。这一个程序你可以在循环体中增加一个变量,循环一次加1,然后输出一看,就ok了。

相似回答