執行下列 C 程式時 struct { char d[10]; }a,b,c; scanf("%s",a.d); scanf("%s",b.d); strcat(strcpy(c.d,b.d),a.d); printf("%s",c.d); 若分別輸入"abc","def",則輸出為何?
Acbafed
Bfedabc
Cabcdef
Ddefabc正確答案
答案與詳解
1. 輸入後 a.d="abc", b.d="def"。2. 內層 strcpy(c.d, b.d) 將 "def" 複製到 c.d,並回傳 c.d 的位址。3. 外層 strcat(c.d, a.d) 將 "abc" 附加到 "def" 尾端,c.d 變成 "defabc"。
