tfsf.net
当前位置:首页>>关于7、设有定义 int a=0 ,b=0,c=0; 以下正确的赋值语句是 A) a=b=58 B)b+...的资料>>

7、设有定义 int a=0 ,b=0,c=0; 以下正确的赋值语句是 A) a=b=58 B)b+...

第一个

答案是B 其它选项结尾都没有" ; " 而c语言赋值必须要有分号.所以选B 希望对你有帮助!

A. 表达式不可以做为左值.因为9+b+c是一个表达式,而不是变量.只有变量可以作为左值 也就是可以被赋值.(很好理解,因为9+b+c = a+9这个表达式你也算不出来,a和b的值 可以有很多) B. 没看出错误,你可以在编译器内试着编译运行.C. 正确,考查逗号表达式.D. 原因同A,表达式做为左值.

if(a=1) b=1;c=2; 这一行有问题 if和else之间永远只能有一条语句,而b=1;c=2;是两条语句!c语言一条语句可以写在多行,多条语句也可以写在一行,关键是就分号,一个分号到上一个分号(或者是{,左半花括号)之间的内容都被认为是一条

n是整数,p是整数指针,q是双重指针.A:p=1 属于将地址1赋给p,非法.B:*q=2 这里*q相当于一个整数指针,问题同上,非法.C:q=p 相当于把p的地址赋给q,不能说错,但是不同维数的指针互相赋值,容易出错.以上三种都是编译没有问题.D比较符合规范而已.

t = a++&&++b 等价于:t=a a=a+1=1 由于a++,a在前,是先用后自增,a=0,并且用是“&&”,而前面的表达式先用 a=0,为假.所以不会执行++b,所以b也等于0,t=0 所以最后答案应该是t=0,a=1,b=0吧?

AD很明显的错误.B是两条独立的赋值语句,应该没问题.C是可以的,括号中的是逗号表达式,他的值再赋值给变量a

c++a=1>0,成立,所以||的结果必为真,因此后面的++b就没有执行了 因为if成立,所以++c肯定执行了.所以a,c变成了1,b还是0

大哥题都不对.int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(“%d,%d,%d\n”,a,b,c);按程序运行来讲吧.第一句不说了第二句为逗号表达式.c=(a-=a-5)给c赋值,把a-=a-5的结果赋给c;(a-=a-5)=(a=a-(a-5));把a=0;代入得a=5;进而(a-=a-5)的值为5;c=5;接下来执行(a=b,b+3);这里面又有逗号表达式.a=b;因b=0;故a=0;b+3;不对任何变量赋值,相当于空语句;综上所述:a=0;b=0;c=5.论述完毕

int a=b=0 ;不能对未定义的b赋值char A=65+1; b='b';中间是分号,所以b未定义float a=1 ,*b=&a, *c=&b;b和c未定义

相关文档
hyqd.net | 4405.net | clwn.net | ceqiong.net | rxcr.net | 网站首页 | 网站地图
All rights reserved Powered by www.tfsf.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com