我有以下代码。
#include<stdio.h>
#include<string.h>
int main()
{
char str1[1000]="/";
char unit[1000]="Hai";
strcat(str1,unit);
printf("\nvalue of unit: %s\n", unit);
return 0;
}
strcat
应将"/"
追加到"Hai"
。因此printf
的预期输出是'unit of unit:Hai /',但我得到的输出为'unit of unit:Hai'
知道为什么会这样吗?
答案 0 :(得分:4)
请阅读strcat()
的文档:它会告诉您使用strcat(dest, src)
调用它。
因此,在您的情况下,str1
将包含"/Hai"
。如果您希望unit
为"Hai/"
,则应致电strcat(unit, str1)
。
答案 1 :(得分:2)
strcat(str1,unit);
// ^dst ^src
printf("\nvalue of unit: %s\n", unit);
// ^src
使用:
strcat(unit,str1);
注意:大多数C函数首先期望目标,然后是源。