我是C編程的新手,我無法弄清楚爲什麼會發生這種情況。字符指針在c
char *example(char *temp) {
char *xyz;
memset(xyz,0,strlen(temp));
strncpy(xyz,temp,3);
strcat(xyz,"XX);
return xyz;
}
int main() {
char temp[] = "ABCDEF"
char *xyz;
xyz = example(temp);
printf("Returned string is: %s",xyz);
return 0;
}
我只是想知道所有我做錯了,因爲我試圖運行GDB而事實證明,我試圖訪問的內存有些不可達的一部分,但我無法弄清楚。提前致謝。
他還用'strcat'等做了危險的事情,你可能想提一下。 –
是的,你說得對。將更新答案。 – Mysticial
'NULL'(有兩個l)通常指的是指針,而'nul'通常指的是ASCII字符。 –