1.若定义int a23={1,2,3,4,5,6};则值为4的数组元素是( )
0 1 2
0 1 2 3
1 4 5 6
要注意下标在哪里
它是横着数的,第4个是4,是arr10;
2.char acX\[\] = "abcdefg";
char acY\[\] = { 'a','b','c','d','e','f','g'};
以下说法正确的是(C )
A.数组acX和数组acY等价
B.数组acX和数组acY的长度相同
C.sizeof(acX)>sizeof (acY)
D.strlen (acX)>strlen (acY)
回答错误(正确答案是:C)
它考的是sizeof要考虑后面的\0
但是strlen不会考虑
就是acX\[\]后面多一个\0
所以上面的sizeof为8,后面的为7
strlen为8,后面的为8
3.#include <stdio.h>
int main()
{
char str\[\] = "hello bit";
printf("%d %d\n", sizeof(str), strlen(str));
return 0;
}
这题也是一样的,只是也要算空格
10 9(空格就是这里的坑)
以下叙述中不正确的是:( D)
A.在不同的函数中可以使用相同名字的变量
(只要在不同的函数内,里面就算名字一样也无所谓)
B.函数中的形式参数是在栈中保存
(被压缩在栈里面)
C.在一个函数内定义的变量只在本函数范围内有效
D.在一个函数内复合语句中定义的变量在本函数范围内有效
(复合语句指函数中的成对括号构成的代码)
{在这个里面才有效}
要在复合语句中才行