A)strcpy(strl,"HELLOl");
B)strcpy(str2,"HELL02");
C)strcpy(str3,"HELL03");
D)strcpy(str4,"HELL04");
答案:C
评析:c语言中:sgcpy(stl,st2);,其两个参数均为字符指针或字符数组,选项c中的目的串指针str3没有指向具体有效的存储单元,故是错误的调用。
(10)请读程序:
#include
#include
main()
{ char*sl="AbCdEf",*s2="aB";
s1++;s2++;
printf("%d\n",strcmp(s 1,s2));
}
上面程序的输出结果是___________。
A)正数
B)负数
C)零
D)不确定的值
答案:A
评析:函数strcmp的功能是比较字符串s1和s2,如果sl>s2,则返回个正数;如果sls2,所以函数的值为正数。
(11)下面程序的输出是_________。
char s[]="ABcD";
main()
{ char*p;
for(p=s;p printf("%s\n",p);
}
A)ABCD
B)A
C)D
D)ABCD
BCD B C ABC
CDC B AB
D D A A
答案:A
评析:在第一次执行for循环时,字符数组的首地址赋给了指针变量p,使得指针变量p指向了s的首地址,输出p所指向的字符串;第二次执行for循环时,p值增加1,p指向了s的第二个元素输出BCD;第三次输出CD;第四次输出D;直到p指向字符串的结束字符"\0",for循环终止执行。