三道简单的C语言填空,急求

2. c语言程序由函数组成。它的。
(A)主函数必须在其他函数之前,函数内可以嵌套定义函数
(B)主函数可以在其他函数之后,函数内不可以嵌套定义函数
(C)主函数必须在其他函数之前,函数内不可以嵌套定义函数
(D)主函数必须在其他函数之后,函数内可以嵌套定义函

3. 以下给字符数组str定义和赋值正确的是
(A)char str[10]; str = "China";
(B)char str[] = "China";
(C)char str[10]; strcpy (str, "abcdefghijklmn");
(D)char str[10] = "abcdefghigklmn";

4. 下面程序段的运行结果是。
char c[]="\t\v\\\0will\n";
printf("%d",strlen(c));
(A)14
(B)3
(C)9
(D)字符串有非法字符,输出值不确定

2 B
3 B
4 B strlen实际上是,从参数表示的地址往后找,找到第一个'\0',即串尾。然后计算'\0'至首地址的“距离”,即隔了几个字符,从而得出长度。
char c[]="\t\v\\\0will\n"中,实际上是定义了一个char型的数组,\t代表一个制表位,ASCII值是9,是一个字符,所以才c[0]='\t',因此依次往后找,c[1]='\v',c[2]='\ \\ ';\\的意思是代表一个'\',ASCII值是92,相当于一个字符。当找到'\0'时,就停止了,不往后找了。因此结果是3,也就是B选项。

朋友,我看前两题很简单,。没一点挑战性,因此没给详细答案,第三题我看是道好题,给了你详细的答案。自己看看如何呐?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-04
B,看几个实例记得牢固!函数可以嵌套调用,递归调用,谭书上的155页!
B,谭浩强书上133页,加个大括号最好!
B,谭浩强书上138也,测试字符串长度,指的是实际长度!
谢谢,回答完毕,不懂可追问!本回答被提问者采纳
第2个回答  2011-12-04
(B)主函数可以在其他函数之后,函数内不可以嵌套定义函数
(B)char str[] = "China";
(B)3
第3个回答  2011-12-04
buqingchu
第4个回答  2011-12-04
1 B 2 B 3 B