对下述程序的判断中,正确的是 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"为止,输出连接在一起的字符串
查看答案
正确答案
试题解析
解析:此题考查了字符串输入函数gets和字符串比较函数strcmp,另外还有字符输出函数putchar。Gets从标准输入设备中读入全部字符,包括空格,直到遇到回车符为止。strcmp是字符串比较函数,strcmp(字符串1,字符串2),如果字符串1=字符串2,则函数值为0;如果字符串1>字符串2,则函数值为一正整数;如果字符串1字符串2,则函数值为一负整数。putchar(c)函数将字符c输出到标准输出设备上。