www.4658.net > 在C语言中,能不能定义时用int A=B=C=3;?拜托了各位...

在C语言中,能不能定义时用int A=B=C=3;?拜托了各位...

不可以 =是赋值 只有先将a,b,c三个变量都声明的情况下 才能进行赋值操作 否则你int a=b 相当于声明一个整型a然后将一个未声明类型的变量b赋值给a 这句话很明显是错的!

可以 。 int a , b , c ; a = b = c = 5 ; // 这样可以。 但是 int a = b = c = 5 ; // 这样不可以,因为 b 跟 c 都还没有定义。

定义二维数组变量b; 默认的初始化值是b[][3]={{0,1,2},{3,0,0}}; 所以最终的定义及初始化结果是b[2][3]={0,1,2,3,0,0};

编译运行没有报错 #include#include#includevoid main(){int a=2,b=3;int i,j;int m[b][a];srand(time(0));for(i=0;i

n的值仍然为2,没有改变! 过程: 先计算a>b,值为0,赋给m的值为0,表达式m=a>b的值也是0。 对于&&逻辑运算,不管后面(n=c>d)的值如何,都不影响(m=a>b)&&(n=c>d)的最终结果,因此,C语言不再对表达式n=c>d进行计算。因而n的值没有改变!!

if(a>b>c)a=b;else a=c a>b>c这个算法是从左到右的,也就是先算a>b成立,为1,然后再算1>c,此时c=1,所以if条件不成立,执行else语句。也就是a=c=1.即a=1.

优先级 ++ > && > || 可以看成++a || (++b && ++c),因为++a已经==2 > 0 因此,后面不再计算。 即a = 2, b= 2 ,c =3

C语言中,赋值号左边只能是变量,而不能是表达式,答案A中,最右边的赋值号它左边是一个表达式(因为b=4使用了括号)而不是变量,所以是错的

测试代码: #include "stdio.h" #include "conio.h" main() { int a=3, b=2, c=1; a=(b=4)=3; printf("a=%d,b=%d,c=%d\n",a,b,c); a=(b=4)+c; printf("a=%d,b=%d,c=%d\n",a,b,c); a=b=c+1; printf("a=%d,b=%d,c=%d\n",a,b,c); 1+(b=c=4); printf...

#include int intfun(int a,int b,int c) { if(a+b

网站地图

All rights reserved Powered by www.4658.net

copyright ©right 2010-2021。
www.4658.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com