c语言新手问题一下程序输出结果是

main()
{
int y=10;
while(y--);
printf("y=%d",y);
}
答案是y=-1为什么?

第1个回答  2012-02-23
while(y--);是空循环,但是while是先判断是否满足,之后还要进行y--,故当y=0时不满足,之后再减一得y=-1,希望对你有帮助!
第2个回答  2012-02-22
while(y--); 这句话的意思是当y>=0的时候执行循环内的语句,这里是什么也不执行。当y减至-1的时候跳出循环,执行输出语句,所以输出为-1
第3个回答  2012-02-22
#include<stdio.h>
int main()
{
int y=10;
while(y--);//这个分号是属于循环的这个是个空循环,到y=0的时候,判断y--,是先判断再减减的,y=0假的,然后减y=-1,退出
printf("y=%d",y);//输出y=-1
return 0;
}本回答被提问者采纳
第4个回答  2012-02-22
首先把y赋值为10,然后进入while()循环,如果while()的括号内的值不小于0,则执行循环内的语句,然后y--,再判断,再执行,直到y=-1,退出循环,调用printf输出
第5个回答  2012-02-22
因为y--是先用后减;所以执行到最后y=-1

c语言问题:输出的结果是什么?
所以输出结果是0

C语言问题:运行该程序的输出结果是
这个程序的运行结果是选择答案D。主要的问题在于,第一个数的输出是多少?第一个数,它输出的是一个逗号表达式的值,而这个逗号表达式的值最后的结果就是取最后一个逗号后面的部分的值,也就是y++的值。因为他是一个后自增,所以先取y的值是3,但然后y的值再变为4,但是输出的值是取到的值也就...

4.26 C语言,一下程序运行后输出结果是#include<stdio.h>
输出为emoclew 也就是把welcome这个词反序了一下 p=str+strlen(str)\/2+1; 的意思是取得单词中间后面一个字符的地址指针 然后调用f(p,p-2); 就是把这个指针所指的字符进行对调,在这个程序最后再次调用f(s,t); 这种方法我们称之为递归调用。 在不满足条件if(*s),也就是指针所指字符为0时,...

C语言有关问题。以下程序的输出结果是:(并且给出解释)
输出结果:c language 解释:if LETTER if(c>='a'&&c<='z') c=c-32;else if(c>='A'&&c<='Z') c=c+32;endif 这段是指当LETTER的值为真(非零)时执行第一个程序段if(c>='a'&&c<='z') c=c-32;否则执行第二个程序段if(c>='A'&&c<='Z') c=c+32;这里宏定义#define...

c语言新手 下面程序输出结果 为什么是空白
scanf("%d,%d",&n1,&n2); 输入的时候请注意格式 你的scanf中间用逗号分隔了,所以你输入的时候应该加逗号,例如:2,3(回车)6(结果)

c语言 以下程序的输出结果是___。 我要答案和过程,谢谢
c = 1; (取整)a -= c; \/\/ a = a-1; a = 2;printf("%d, %d, %d, ", a, b, c ); \/\/ 2, 5, 1a += --c; \/\/ c = --c => 0; a += 0;} printf("%d, %d, %d\\n", a, b, c); \/\/ 2, 3, -2}结果是:2, 5, 1, 2, 3, -2 ...

帮忙分析C语言程序输出结果是什么!
输出的是"a+b=11" 因为在最后的一个输出语句中首先输出的是a+b=然后遇到了整形输出C 而你在上面已经定义了c=a+b 就是他们的和 如果你把printf("a+b=\\n%d\\n",c) ;之间加上\\n你的输出就会变成 a+b= 11

c语言程序输出的结果为多少?
程序输出的结果为a=11,b=13。程序的执行过程:首先定义了a的值为12,b的值为12,然后执行我们的输出语句,我们输出的不是a和b的值,而是表达式“--a”和表达式“++b”的值,因为前缀的“++”和“--”都是先进行加一或者减一的操作,再输出。所以说“--a”输出的结果为11,“++b”输出的...

【C语言初级〗有以下程序输出结果是1 -2
当x=3,进入do里面,执行printf("%3d",x-=2);即打印x-=2,也就是x=x-2;所以输出1 然后判断!(--x),这时x自减1,所以为0,而!0为真,就再进入do里面执行 x=x-2=0-2=-2,打印出来的就是-2 这里再次判断!(--x),--x=-3,那么!(-3)为假,所以循环结束。

c语言问题
1. 以下程序的输出结果是【 】main(){ short i;i=-2;printf("\\n i: dec=%d,oct=%o,hex=%x,unsigned=%u\\n",i,i,i,i);} i:dec=-2,oct=37777777776,hex=fffffffe,unsigned=4294967294 2.以下程序的输出结果是【 】main(){ float f;f=3.1415;printf("\\n %f,%4.3f,%5.3f,%-...

相似回答