#include <stdio.h>
int main()
{
char s[] = "churchgate: no church no gate";
char t[25];
char *ss, *tt;
ss = s;
while (*ss != '\0')
*tt++ = *ss++;
printf("%s\n", t);
return 0;
}
这段代码有什么问题?当我尝试运行它时,它显示了一些垃圾值。显示错误的字符串代码?
后检查
t
添加'static_assert(sizeof(s)<= 25,“坏坏坏”);' – Lundin
@Lundin,我会建议'char t [sizeof(s)];'而不是。特别是,考虑到它是'c'标记的。 –