对下述程序的判断中,正确的是 void main() { char*p,s[128];p=s;while(strcmp(s,"End")){ printf("Input a string:"); gets(s); while(*p) putchar(*p++);}}
A.此程序循环接收字符串并输出,直到接收字符串"End"为止
B.此程序循环接收字符串,接收到字符串"End"则输出,否则程序终止
C.此程序循环接收字符串并输出,直到接收字符串"End"为止,但因为代码有错误,程序不能正常工作
D.此程序循环接收字符串并将其连接在一起,直到接收字符串"End"为止,输出连接在一起的字符串
参考答案:B
解析: 此题考查了字符串输入函数gets和字符串比较函数strcmp,另外还有字符输出函数 putchar。Gets从标准输入设备中读入全部字符,包括空格,直到遇到回车符为止。strcmp是字符串比较函数,strcmp(字符串1,字符串2),如果字符串1 =字符串2,则函数值为0;如果字符串1>字符串 2,则函数值为一正整数;如果字符串1<字符串2,则函数值为一负整数。putchar(c)函数将字符c输出到标准输出设备上。