gpt4 book ai didi

char数组可以被C中更长的字符串覆盖吗?

转载 作者:行者123 更新时间:2023-12-02 06:17:51 25 4
gpt4 key购买 nike

当然假设没有输入大于 9 个字符。例如:

#define MAX 10
char array[MAX];
while(scanf("%s",array))!=NULL){
//do something with the array one time,
//now when I go back to the top of the loop I want to store a new string in the array
//that may be longer or shorter
//than the string that was previously in there. Ideally I want to overwrite the array
//since I don't need the data anymore.
}

这样做会遇到问题吗?有一个更好的方法吗?也许使用指针和 malloc?提前致谢。请记住,我是初学者,想以正确的方式学习。

最佳答案

一种方法是您可以简单地通过编写来限制用户输入:

scanf("%9s", array);

然后在使用 memset 设置新值之前

memset (array,'0',MAX_SIZE);

关于char数组可以被C中更长的字符串覆盖吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21736976/

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