gpt4 book ai didi

c - 如何确保用户输入值?

转载 作者:行者123 更新时间:2023-12-04 12:21:23 26 4
gpt4 key购买 nike

我正在尝试获取此代码以验证用户是否输入了一个值。如果我使用 gets() 它会起作用,但是当我将它更改为 fgets() 时它会停止工作。我希望它一直循环,直到用户输入一个至少有 1 个字符但少于 25 个字符的字符串 如果它在我的代码中不明显,我是编程新手。谢谢!

int main(void)
{
char input[25], inputNew[25];
int i;
int x;
int y;
do
{
printf("Please enter a string less then 25 characters!\n");
fgets(input, sizeof(input), stdin);
y = strlen(input);
}
while(y>25 || y<=0);

for (i = 0; i <= strlen(input); i++)
{
inputNew[i] = toupper(input[i]);
for (x = 1; x <= strlen(input); x+=2)
{
inputNew[x] = tolower(input[x]);
}
}
printf("The new value is: %s.\n", inputNew);
return 0;
}

最佳答案

fgets保留结尾的换行符,而 gets扔掉它。

因此,您必须将支票更改为 y <= 1如果你使用 fgets .

关于c - 如何确保用户输入值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12907630/

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