首页 > 试题广场 >

下面代码的执行结果是什么:

[单选题]
下面代码的执行结果是什么:
char ccString1[]="Is Page Fault??";
char ccString2[]="No Page Fault??";
strcpy(ccString1,"No");
if(strcmp(ccString1,ccString2)==0)
   cout<<ccString2;
else
   cout<<ccString1;

  • No
  • No Page Fault??
  • Is Page Fault??
  • 其他三项都错
推荐
A。
执行strcpy(ccString1,"No"); ,ccString1变为"No\0Page Fault??",会将字符串的结束符'\0'放入,所以比较时返回false,执行cout << ccString1; 输出时遇到结束符'\0'就结束,只输出“NO”。
编辑于 2016-11-23 23:33:38 回复(6)
strcpy执行时,会自动在复制后的字符串上添加‘\0’,所以复制完成之后ccString1变为No,两个字符串不相等,所以输出No。
发表于 2015-08-26 22:32:40 回复(4)
C/C++函数,比较两个字符串,设这两个字符串为str1,str2,
若str1==str2,则返回零;
若str1>str2,则返回正数;
若str1<str2,则返回负数。
发表于 2015-08-21 17:25:32 回复(0)
如楼上所说,当执行strcpy之后,在No末尾放入了结束符'\0'。在输出时结束符后边的字符被截断不被输出。

如下图。


发表于 2016-05-31 22:39:17 回复(0)
strcmp相同返回零,不同返回1
发表于 2018-01-30 11:51:48 回复(0)
亲测,strcpy执行后,不是 NO\n   Page Fault??
发表于 2017-03-15 14:14:46 回复(0)
关键点是strcpy会吧字符串的结束字符“\0”一同拷贝
发表于 2016-09-29 22:10:30 回复(0)
复制字符串完成后会在结尾加上‘\0'
发表于 2016-05-26 17:11:39 回复(0)
strcpy(ccString1,"No");运行之后就是ccString1="No", 而ccString2="No Page Fault??"
发表于 2015-10-27 13:07:56 回复(0)
strcpy复制字符串完成后会在结尾加上‘\0'
发表于 2023-10-21 17:16:43 回复(0)
strcmp是字符串比较,用于比较两个字符串并根据比较结果返回整数。strcpy是复制字符串,也将/0复制,遇到空字符结束。
发表于 2022-02-17 14:53:23 回复(0)
strcpy 会在末尾加/0
发表于 2023-09-22 14:30:19 回复(0)
strcpy()函数:是将一个字符串复制到另一块空间地址中的函数,‘\0’是停止拷贝的终止条件,同时也会将 '\0' 也复制到目标空间。
发表于 2023-08-03 10:10:33 回复(0)
strcmp函数是string compare(字符串比较)的缩写,用于比较两个字符串并根据比较结果返回整数。基本形式为strcmp(str1,str2),若str1=str2,则返回零;若str1<str2,则返回负数;若str1>str2,则返回正数
发表于 2019-08-07 22:01:06 回复(0)
strcpy会将结束字符'\0'也复制过去
发表于 2019-08-05 08:44:24 回复(0)

#include <string.h>
  char *strcpy( char *to, const char *from );

功能:复制字符串from 中的字符到字符串to,包括空值结束符。返回值为指针to

需要注意的是,from字符串最后的空值结束符也会一并拷贝到to中去,而本题中不满足if条件,所以输出str1,遇\0结束



发表于 2019-04-17 19:44:29 回复(0)
strcpy会将结束符拷贝进去,ccString1[2]为'\0',故选A。
发表于 2018-11-19 19:31:47 回复(0)

strcpy后自动补充截止符'\0m其ASCII码值为0,0-31为不显字符。关键ASCII值:三二空,四八零,六五九七大小A

发表于 2018-10-17 13:07:56 回复(0)
通过逻辑推理判断
发表于 2018-08-23 14:51:21 回复(0)
strcpy执行时,会自动在复制后的字符串上添加‘\0’
发表于 2018-08-17 15:40:32 回复(0)

这个题可能是在理解错的情况下做对的,不要问我是怎么知道的。就算是认为ccString1=“No”,也能选出A来

发表于 2017-04-25 16:47:05 回复(0)