你能告诉我为什么strcpy会在这里产生运行时错误吗?目标字符串应该为空吗?如果是这样,为什么?
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[]) {
char* input = "Nascartestdriver"; // strlen(input) == 16
char* output = "asdfdhsghsdfasdf"; // strlen(output) == 16
strcpy(output, input);
printf("%s\n", output);
return 0;
}
感谢。
答案 0 :(得分:0)
因为strcpy()
尝试在只读部分写入。