C语言错题小本子

1 int a;
2 int x = 5;
3 a = ! x<10    //a的值是多少

我的答案:0, 正确答案:1

错误原因:没有熟练掌握运算符的优先级

// 找出下面无效的C语言变量名
A. _a
B. main
C. print
D. struct

我的答案:B, 正确答案:D

错误原因:把main,print 错误的当作了C的三十二个保留字

1 //下列的数组定义是否正确
2 int x[2][] = {1, 2, 3, 4,6} 

我的答案:对, 正确答案:错误

错误原因:二维数组中 [行][列], 列是必须给出的,行编译器可以帮你数

1 // 下面程序的编译运行情况
2 int k;
3 for (k=1; k; k++);
4     printf("%d ", k);

我的答案:能运行,是死循环不能结束, 正确答案:能运行正常结束

错误原因:没有考虑到 int 是有边界的,超过边界,k会为0

1 int a[] = {5, 15, 34, 54, 14, 2, 52, 72};
2 int *p = &a[5];
3 // 则 p[-2] 的值是?

正确答案:54

原因:暂时没弄明白

原文地址:https://www.cnblogs.com/tingshuo123/p/6647011.html