设有如下程序: #include’string.h" main() { static char s1[20],s2[20]; scanf("%s",s1);scanf("%s",s2); if(strcmp(s1,s2)) p

admin2010-01-10  19

问题 设有如下程序:    #include’string.h"    main()    { static char s1[20],s2[20];    scanf("%s",s1);scanf("%s",s2);    if(strcmp(s1,s2)) printf("@");    else printf("$");    printf("%d\n",strlen(strcat(s1,s2)));    }    如果从键盘上输入name1<回车>name2<回车>,则程序运行后的输出结果是(  )。   

选项 A、$9
B、@11
C、$10
D、@10

答案8

解析 本题首先定义了两个字符数组,然后从键盘读入两个字符串"name1"和"name2"分别赋给它们,接下来使用strcmp()函数比较两个字符串是否相等,若不相等就输出一个‘@’字符,否则输出一个‘$’字符,所以本题先输出一个‘@’字符。最后使用strcat()函数将两个字符串连成一个,然后使用strlen()函数求连接后的字符串长度,所以接下来又输出一个10。故本题的正确答案为D。
转载请注明原文地址:https://kaotiyun.com/show/fQWp777K
0

最新回复(0)