对于以下程序代码段,叙述正确的是: char c1='D', c2='d';printf("%c\n", (c1,c2));
对于以下程序代码段,叙述正确的是:
char c1='D', c2='d';printf("%c\n", (c1,c2));
(A) 缺少一个格式说明符,编译出错 (B) 程序运行时产生出错信息
(C) 程序输出大写字母D (D) 程序输出小写字母d
人气:299 ℃ 时间:2020-05-20 00:51:31
解答
D
逗号运算的结合性是从左至右,完毕之后整个表达式的值是最后一个表达式的值.
在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值.
假设b=2,c=7,d=5,
a1=(++b,c--,d+3);
a2=++b,c--,d+3;
对于第一行代码,有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是d+3,为8,所以a1=8.
对于第二行代码,那么也是有三个表达式,这时的三个表达式为a2=++b、c--、d+3,(这是因为赋值运算符比逗号运算符优先级高)所以最终表达式的值虽然也为8,但a2=3.
推荐
- char c1,c2; c1=197; c2=198; printf("c1=%c,c2=%c\n",c1,c2); printf("c1=%d,c2=%d\n",c1,c2); return 0;
- 下面程序段的输出是( ) char c1=’b’,c2=’e’; printf(“%d,%c\n”,c2-c1,c2+’A’-‘a’);
- 若有以下定义和语句 char c1='b',c2='e'; printf("%d,%c",c2-c1,c2-'a'+'A
- 在C语言中,执行下面两个语句后,输出的结果为( ).char c1=97,c2=98; printf("%d %c",c1,c2);为什么
- 定义:char c1,c2; scanf(“%2c%3c”,&c1,&c2);printf(“%c%c”,c1,c2); 键盘输入:ABCDE;则输出的结果是
- 有一本故事书186页,编完这本故事书共需要多少个数字?
- 甲乙两项工程分别由一、二工程队负责完成,晴天时,一队完成甲工程需要12天,二队完成乙工程需要15天,雨
- 英语翻译
猜你喜欢