我刚刚开始学习 C 编程。当谈到字符串时,我对函数“strcpy”感到困惑。我尝试交换第一个参数和第二个参数的位置。当我运行程序时,它只显示一个“S”。这意味着什么?
char s2[ ]= "Hello";
char s1[10];
strcpy(s2, s1);
printf("Source string = %s\n", s2);
printf("Target string = %s\n", s1);
我认为输出将为空。但它只显示一个“S”。
根据这些printf
陈述,您可以strcpy
混淆论据。
就像现在一样,您正在复制s1
到s2
. s1
但是,该数组未初始化,因此它包含的值是不确定的。
要复制s2
到s1
,请切换参数:
strcpy(s1, s2);
如果保持原样,则需要显式设置s1
为空字符串以获得一致的结果。
char s1[10] = "";
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句