main() { int a=10; b=10; printf("%d,%d",a,b); } 完全无语,这么简单的问题都会错误,求解,错误如题。

作者&投稿:休航 (若有异议请与网页底部的电邮联系)
main() {int a=10,b=20,c=30,d; d=++a<=10||b-->=20||c++; printf("%d,%d,%d,%d\n",a,b,c,d); }~

最后结果: 11,19,30,1
原因:
d=++a=20||c++;
根据优先级加上括号就成了这样
d=(((++a) =20)) || (c++);
首先C的逻辑或运算时有个短路计算的规则,即||左边为真时不会进行右边的计算。
((++a) <= 10): ++a,+号在左边,先自增再比较,所以 a=11, 11<=10为假,进行b的运算。
((b--)>=20)) : b--,减号在右边,先比较再自减,所以比较时b=20,20>=20成立,比较完成后进行b的自减运算,完成时b=19,此时(((++a) =20)) 的值为真,不再进行c的运算。所以c的值不会变c=30,d为真即d=1

那是因为你前面只有一个%d,要想出两个就加两个%d
printf("a=%d b=%d
",a,b)

#include <stdio.h>
main前面少了这句话
而且,你的代码应该是存在返回值而造成的,但是main有没有加void,所以也出错了

你的b没有声明吧~好像~

帅哥 你的b变量都不声明呢 改成int a=10,b=10;

最前面 添加一个 void

同意楼上说法


四平市14782644761: 阅读下列程序段,则程序的输出结果是() #include "stdio.h" main() { int a=10,b=10,k; for(k=0;a>8;b=++k) printf("%d,%d,",a -- , -- b); printf("\n");} -
崇贞感冒:[选项] A. )10,10,10,0, B. )10,9,9,0, C. )10,10,9,1, D. )9,9,9,1, 给点说明

四平市14782644761: #include main ( ) { int a=10,y=0 ; do { a+=2 ; y+=a ; if (y>50) break ; } while (a=8) ; p#include main ( ){int a=10,y=0 ;do {a+=2 ;y+=a ;if (y>50)break ;}while (a=8) ;... -
崇贞感冒:[答案] 这个程序应该是这样运行的执行main函数.a的初始值为10,y的初始值为0执行do里面的函数.结果是a=12,y=12while语句里面先执行 赋值语句a=8 然后是相当于while(8)为真.接着又执行do里面的函数.结果是a=10,y=22 .如此循...

四平市14782644761: int a=10;定义在main()函数里面和外边有什么区别呢 -
崇贞感冒: 函数外面是全局的,哪个函数里面都可以用..main()里面的,只有再main里面才能用,去其他函数里面不认的.

四平市14782644761: 程序运行结果main(){int a=10,i=i,j=2;printf(“%d,%o,%x\n”,a,a,a);printf(“i=%d\n”,i++); -
崇贞感冒: 应该是 main() { int a=10,i=0,j=2;printf("%d,%o,%x\n",a,a,a);printf("i=%d\n",i++); } 吧 结果:10,12,a0

四平市14782644761: #include<stdio.h> main() {int a=10,char x; a=x+a; printf("%d",a); } -
崇贞感冒: #include main() { int a=10,char x;--x没赋值 a=x+a; printf("%d",x);--输出这一句看看 printf("%d",a); }

四平市14782644761: 程序运行结果main(){int a=10,i=1,j=2;printf("%d,%o,%x\n"a,a,a);printf("i=%d\nq",i -
崇贞感冒: int a=10,i=1,j=2; printf("%d,%o,%x\n",a,a,a); printf("i=%d\nq",i++); printf("%c\n",i==j?'A':'B'); 运行后的输出是:10,12,a i=1 qA

四平市14782644761: c语言程序设计实训 -
崇贞感冒: 1, #include<stdio.h> void main() {int a=10,b=25,t;t=a;a=b;b=t;printf("a=%d,b=%d\n",a,b);}2,#include<stdio.h> void main() {int n,a,b,c,d;printf("请输入一个四位数:\n");scanf("%d",&n);while(n<1000||n>9999){printf("...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网