int x=011;printf("%d".++x);结果是多少?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
int x=011;printf("%d\n".++x);结果是多少?
011是8进位制的写法,换成10进位制是9
所以++x(先加再输出)输出当然是10了
int x=-1,y=1;printf("%d,%d\n",x+y++,y);的结果是多少?
不可能呀,我也除错了一遍,就是0,2,这个答案应该是肯定的,可能是你的c语言编辑器有问题吧,你在找个别的试试看,会不会出错
main() { int i=10,j=1; printf("%d,%d\n",i--,++j);}结果是多少
前置自加自减 是先自加/自减, 再取值.
后置自加自减 是先取值,再自加/自减.
所以这里的i--, 先取值, 值为10.
++j, 先自加j=2, 再取值.
于是输出是10,2
int x=11; printf("k=%d\nk=%o\nk=%x\n",x,x,x); 结果是什么
k=11
k=13
k=b
其实就是k分别以十进位制,八进位制和十六进位制显示出来
int a=-23,b=4;printf(a%%b=%d\n",a%b); 结果是%d
printf(a%%b=%d\n",a%b);
是不是少了应该分号:
printf("a%%b=%d\n",a%b);
main() { int m=12, n=34; printf("%d%d",m++,++n) printf("%d%d\n",n++,++m) } 此程式输出结果是多少
m++输出的是m值(12),然后m=m+1(变成13)
++n是输出n+1的值(35),n=35
---------------------------------------------------------
n++是输出n的值35
++m输出m+1的值14
所以最终结果是12 35 35 14
一下程式的执行结果是: int x=3; int m,n; n=(++x)+(++x); int m=(x--)+(x--); printf("%d,%d\n",m,n);
++X(先+1再取值),x--(先取值再-1)
因为x只有一个地址,只能存放一个结果。当x第一次++时x=4做第二次++时x=5把先前的4覆蓋掉了。两个++做完后,执行+,就变成了5+5,而不是4+5,因为要是4存在,那么4应该放在哪个地址里呢?x里?但是x在做第二次++的时候已经变成了5,所以4不可能存在。明白了吗??
那么两个(x--)所作的工作都是一样的。但x只能保留最后一次执行的结果。
其实,说实话, 工作中不提倡这样的写法,宁可分步写,也不要写成一句话。
{ int x=1,y=1; if(0)if(1)x=2;else y=3; printf("x=%d,y=%d\n",x,y); }结果是多少,为什么?谢谢了,大
else与最近的if配对,及与if(1)配对,而if(1)--else--又是if(0)的内部语句,if(0)为假,所以if语句内的程式都没有执行,结果x=1,y=1
麻烦采纳,谢谢!
设有int i=10,j=10; 则printf("%d,%d\n",++i,j--)的输出结果是多少
输出结果是:
11,10
int k=0;while(k++<=2) printf("%d\n",k);的结果是1 2 3?和int k=0;while(k++<=2);printf("last=%d\n",k
while(k++<=2) printf("%d\n",k); 是回圈语句,回圈体是 printf("%d\n",k);
k++ 是字尾加,也就是在表示式里先用当前值,用过后再增1。
k++<=2 当 k=0,1,2 时做回圈体,执行回圈体三次 printf("%d\n",k); 里的 k 是增1后的k, 打印出 1,2,3。k++ 变 3 时 退出回圈。退出回圈后 k=4。由于没有后续列印语句,没显示出k=4的结果。
while(k++<=2); 有分号,虽 是回圈语句,但回圈体是空。
k=0,1,2 时做回圈体,当前值 k=3 时 退出回圈。由于k++ 是字尾加,退出回圈后增1,变4。
后续是个列印语句 printf("last=%d\n",k);打印出 last=4.
分页:123