gpt4 book ai didi

c - 为什么在 C 中使用 printf 时字符串会打印两次?

转载 作者:太空狗 更新时间:2023-10-29 14:53:59 24 4
gpt4 key购买 nike

我的程序要求用户提供一个字符串,它将被复制到一个字符数组中。然后,通过 for 循环,程序只需将第一个数组的元素复制到第二个数组中。

int main() {

int i;
char string1[4], string2[4];

// Get the first string
printf("Insert your string: ");
scanf("%s", string1);

// Copy the values into the second array
for (i = 0; i < 4; i++) {
string2[i] = string1[i];
}

// Print the second string
printf("%s", string2);
return 0;
}

但是,当我使用 printf() 函数打印 string 时,string 被打印了两次。

假设我输入了单词

bars

输出将是

barsbars

为什么会这样?

最佳答案

char string1[4], string2[4];

4 元素的 char 数组对于 4 字符的字符串是不够的。您还需要一个用于终止 '\0' 字符。

关于c - 为什么在 C 中使用 printf 时字符串会打印两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30242182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com