求两道C 语言题目解释,谢谢 两道c语言基础题求解析,谢谢

作者&投稿:捷佩 (若有异议请与网页底部的电邮联系)
2.在C语言中,不正确的int类型的常数是A
A) 32768 B) 0 C) 037 D) 0xAF
3 设有如下定义:int x=l,y=-1;,则语句:printf("%d\n",(x--&++y));的输出结果是B
A) 1 B) 0 C) -1 D) 2

//分析
2.这个题是早期的TC等16位编译系统中的题,在16位编译系统中,32768超出整数表示范围。在32位编译系统中,这些全是正确的整型常量。
3.在(x--&++y)这个表达式中,第二个操作数++y为0,因此按位与后,结果显然为0。

2.在C语言中,不正确的int类型的常数是
A) 32768 B) 0 C) 037 D) 0xAF
出题者的意思是A),16位系统下最大的int是32767,如果是32位系统的话,那就都正确
也说明这个题是抄的老题,现在64位都要普及了,新出题还出16的?

3 设有如下定义:int x=l,y=-1;,则语句:printf("%d\n",(x--&++y));的输出结果是
A) 1 B) 0 C) -1 D) 2
这个是B) 0

c语言的两个题目,解释一下谢谢~

%u是无符号打印,-3的二进制为10000011,所以打印为65***
其他应该很容易理解

这要如何解析,第一题就是函数传参问题,实参和形参类型一致
第二题就是结构体变量的三种定义方式 D选项只是结构体类型的定义,不是结构体变量的定义