- 下列程序段的输出结果为
int x=1, y=012;
printf("%d", y*x++);
正确答案:10.因为012是八进制数10,y++是加一之前的值。
- 下面程序段的输出结果是:
int k;
while(k!=0) k=k-1;
printf("%d", k);
正确答案:是不能输出结果的,但是可以编译通过。然而答案居然是无论k初值如何,最终都会减到0,k如果正好为负数呢?这一题有疑惑。
- include是编译预处理指令,不是C的关键字。
- C语言进制的表示:十进制既无前缀也无后缀,八进制前缀加0,十六进制前缀加0x
- 语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:
正确答案:1.两个赋值语句都是true
- 以下表达式
x&&1
用在if的条件中时,和哪个是等价的:
正确答案:x!=0.因为x只要不是0就是逻辑真,右面的1不起作用。
- 对于以下代码:
int i=6;
if ( i<= 6 )
printf