下面一个C语言高手指教下,小弟看不懂!!

在线等

首先我们要知道这句话的意思“n++<=2”,就是先把n遇2进行比较,然后,再n=n+1,
第一次循环:
进while循环的时候,n=0,先拿0遇2比较,条件符合,n=n+1,n此时为1,到第一个打印语句,打印一个1和一个“\t”,就是打印一定宽度的空格,此时因为while后面没带“{ }”,所以while的循环体就是while下面的第一个语句,也就是第一个打印语句,然后进行下一次循环,就是进while里判断条件是否符合。
第二次循环:
此时n=1,先拿1跟2比较,符合,n=n+1,n此时为2,到第一个打印语句,打印一个2和一个“\t”,就是打印一定宽度的空格,
第三次循环:
先拿2跟2比较,符合,n=n+1,n此时为3,到第一个打印语句,打印一个3和一个“\t”,就是打印一定宽度的空格,
第四次循环:
先拿3跟2比较,不符合,n=n+1,n此时为4,但是因为条件不符合,就不进入循环体,退出循环,到第二个打印语句,就打印一个4,再换行。
最后结果是:1 2 3 4
外加一个换行。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-03-04
等价于
#include <stdio.h>
main()
{
int n=0;
while(n<=2)
{
printf("%d\t");

n++;
}
printf("%d\n");
}
第2个回答  2012-03-04
n=0,先进行+1操作,然后判断<=2,然后分别空一格输出和换行输出,然后回到n+1操作,即n=2,再重复输出操作,然后就停止了追问

请问输出结果是什么?

第3个回答  2012-03-05
while 循环里面只包含第一个 printf()语句 第二个不参与循环 所以输出的是 1 2 3 4追问

能详细解释下嘛?

追答

最开始n=0
进入while之后 第一次 (n++ )=02,n=4 不执行printf("%d\t",n);而跳出while循环
而执行第二个printf(); 输出 4
就是这样的

第4个回答  2012-03-04
1 1
2 2
3 3追问

不对,答案是1 2 3 4,求真相

追答

结果就是1234 看错了while 下面跟一行
1 2 3 4

追问

有图作证,程序输出是1 2 3 4

追答

就是1234
while 循环里面只包含第一个 printf()语句 第二个不参与循环
给分呢

下面一个C语言高手指教下,小弟看不懂!!
首先我们要知道这句话的意思“n++<=2”,就是先把n遇2进行比较,然后,再n=n+1,第一次循环:进while循环的时候,n=0,先拿0遇2比较,条件符合,n=n+1,n此时为1,到第一个打印语句,打印一个1和一个“\\t”,就是打印一定宽度的空格,此时因为while后面没带“{ }”,所以while的循环体就是...

c语言程式,请高手指教一下
要什么指教?

c语言 请高手指教~~~
static 静态变量先编译。然后是main()函数,依次编译。i是全局变量fun()函数会影响,其他变量各管各的。这些东西书上都有,好好看书

有一个c语言的问题不会,求大神指教!!
break是跳出当前的包含 break的最近的一层循环。循环就是,因为a=1,已经赋值了,所以for的第一个没有,只写了一个分号,表示从a=1 开始,进行循环体的内容,如果a是偶数,则跳出for循环。如果不是偶数,则b=b+a,然后a= a+1,继续循环,这一次,a是偶数了,跳出for循环,所以后面那个b+=a就...

一段C语言代码不知道错哪儿了,请高手指教
一、语法错误 所谓“语法错误”是指由于违反了语言有关语句形式或使用规则而产生的错误。比如错误地使用了关键字、遗漏了某些必需的标点符号、分支语句或循环语句不完整或不匹配等都会导致语法错误。对于语法错误,在 VB 中可以通过设置“自动语法检测”功能来发现。设置“自动语法检测”功能的方法是执行菜单...

C语言 选择题 高手指教
判断语句执行体里只有一个句子,即z=x,因为没有大括号。x=10,y=20,所以判断条件不符合,因此if语句不执行。接着执行下面的语句,x=y,此时x=y=20,y=20,z=30;再执行下一条,y=z,此时y=z=30,x=20,z=30,因此选B

高手指教下:在计算机C语言中
..]);其用法和printf()相同,不过不是写到控制台,而是写到流罢了。注意的是返回值为此次操作写入到文件的字节数。如int c = fprintf(fp, "%s %s %d %f", str1,str2, a, b) ;str1:10字节;str2: 10字节;a:2字节;b:8字节,c为33,因为写入时不同的数据间自动加入一个空格。

c语言 数据结构 本人不才看不出问题 ,希望各位大虾指教,谢谢、、请说...
sequenlist *L=NULL; \/\/这里声明了一个指针,最好赋上初值NULL char ch = 'a';int k ;\/\/L指针在没有指定有效地址空间时,是不能直接使用的!不然它指向的是NULL不能操作 L=(sequenlist *)malloc( sizeof(sequenlist) ); \/\/为指针分配一个有效的空间才可以用哦 ...printf("插入A B C D...

C语言的一道题 不知道哪里错了 请高手指教一下
puts()函数接受一个const char*类型的参数,如果成功就返回一个非负数,否则就返回EOF 并且,这两个函数都不做边界检查。自己写这两个函数时应该实现这几点,所以原程序修改如下:\/\/--- include <stdio.h> char *mygets(char *buf){ int i;char ch;if (feof(stdin)) return NULL;for (i =...

C语言的位运算问题,请高手指教
0xF7 对应的2进制应该是11110111 temp=0xF7 temp=temp<<1 如果你的temp是一个8位的数,移位后为11101110,即0xEE 如果你的temp是一个8位以上的数,移位后为111101110,即0x1EE

相似回答
大家正在搜