[英]unexpected behavior while appending chars using strcat
char buf[256];
char c48 = (char) 48;
char c49 = (char) 49;
char c50 = (char) 50;
char c51 = (char) 51;
char c52 = (char) 52;
char c53 = (char) 53;
strcpy(buf, &c48);
strcat(buf, &c49);
strcat(buf, &c50);
strcat(buf, &c51);
strcat(buf, &c52);
strcat(buf, &c53);
puts(buf);
我期望輸出的字符串為012345,但是當我執行提示時,結果為0?10?210?3210?43210?543210?。 我不明白為什么會這樣。 可能是使用strcat方法復制了buf嗎? 很抱歉這個基本問題。 我來自Java背景。
strcpy(buf, &c48);
第二個參數不是指向以NUL結尾的字符串的指針。 此行及其后的所有行均顯示未定義的行為。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.