【发布时间】:2019-09-04 08:01:51
【问题描述】:
我正在尝试解决由这个问题引起的问题。我为显示问题而编写的代码如下所示。我使用 strcpy 将一个全局字符串复制到使用 memset 创建的字符串中。尽管它们的内容看起来相同,但结果表明它们不是;因为最后的 if 语句没有被执行。
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define MSG "mystr"
int main() {
char buffer[6];
memset (buffer, 0x00, 6);
strcpy(buffer,MSG);
printf("Buffer is %s.\n", buffer);
printf("MSG is %s.\n", MSG);
if (buffer == MSG) printf("True \n");
return 0;
}
结果是;
Buffer is mystr.
MSG is mystr.
如果你能告诉我哪里做错了,我将不胜感激。
【问题讨论】: