C语言题目。

1、已知char a='R';则正确的赋值表达式是() A、a=(a++)%4 C、a+=256-- B、a+2=3 D、a='\078' 答案是:A B是因为那个不是赋值表达式,是不是?? C是因为a不是在0~255之间(字符的ASCII值范围),是不是呢? 那D为什么不行呢??? 2、已知double a=5.2;则正确的赋值表达式是()。 A、a+=a-=(a=4)*(a=3) C、a%3 B、a=a*3=2 D、a=double(-3) 答案上:A 更上题一样,C不是赋值表达式。 其他的呢??A怎么看呀?? 3、下列语句中,符合C语言语法的赋值语句是()。 A、a=7+b+c=a+7; B、a=7+b++=a+7; C、a=7+b,b++,a+7; D、a=7=b,c=a+7; 答案是:C 是不是一个赋值表达式中不能有两个“=”呢??赋值语句中可以。 但答案C不全是赋值语句呀?? C语言初学者,求高手帮帮忙。谢谢了!!

第1个回答  2020-04-10
第一题的b、c毛病一样。都是将常量当变量用。d中的\是转义字符,不能直接附值。
第二题a的意思是a=4*3;
a=a-12;
a=a+a;
b原理和第一题的b、c一样。
d中的强制转换运算符不能对常量使用。
第三题a、b、d都用了连续附值,c语言中是不允许这样附值的。c中用到了逗号运算符,关于具体使用方法可以查阅相关书籍,这里的这条语句是a=a+7。
第2个回答  2019-07-08
一个字符char是一个字节,当然newworld是8个字符,加上末尾默认会加上一个\0,共9个字节。输出9
char*
是32位4个字节的,输出4。
单个char输出的是1(1个字节)。
void是4个字节的,也输出4。

【提示:使用cout<<sizeof(void*)验证】
相似回答
大家正在搜