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
原因:暂时没弄明白