#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'標記的。 –