大家可以看看这几道题你们会吗??

以下程序的结果是什么?

int i = 1;
int main()
{
int i = i;
return 0;
}
A: main()函数里的i是一个未定义值

B: main()函数的i为1

C: 编译器不允许这种写法

D: main()里i的值为0

解答:当笔试者看到此代码时,可能会觉得古怪。虽然在C++中编译是可以通过的(显然是不合理)。当main()函数里的i从定义开始,外部的全局变量i就已经被屏蔽掉,所以main()函数里作为右值的i的值不会0也不会是1,与外部的i无关。而是一个未定义的符号。

答案:A

2.以下程序的输出结果是什么?

#include<stdio.h>
int main()
{
int arr[]={11,12,13,14,15};
int ptr = arr;
(ptr++) += 100;
printf("%d %d\n",ptr,(++ptr));
return 0;
}
A:13 13

B:112 13

C :12 12

D:12 13
要想知道答案请点击网址C语言研究中心

猜你喜欢

转载自blog.51cto.com/13860654/2140785
今日推荐