我已经在这些论坛内外搜索过,但仍然遇到问题。我对C的理解还是很基础的。我正在创建一个小程序,它采用用户输入的 3 个数值,然后计算最高值。我明白了。
我现在想确保用户只输入整数值。我设法让程序继续提示用户重新输入值,直到它在指定的数值范围内(例如,1 到 1000 之间的任何数字,小菜一碟),但这还不够好。我使用 3 个 while 循环来测试每个值,但这仅在输入为整数类型时才有效。
诀窍是我不能使用内置函数。它需要手动(抱歉,选词不当)我尝试使用 char 变量和 x = getchar(); 获取 ASCII 值并在某个条件下对其进行测试,但我无法让它在循环中工作。(当/做时)
我还尝试使用“for 循环”和数组变量,但再次努力让它继续提示用户。
我还尝试测试 scanf 返回的值以查看它是否为整数,但我对正确 C 语法的知识水平是 level: noob。我的循环要么不循环,要么无限循环。
这是一些示例代码:
int x, y, z =0;
printf("Enter the first number:\n");
scanf("d", &x);
while (condition) /* Here is where I need to determine that the entered val is false */
{
printf("Wrong input. Re-enter a valid value.\n");
x =0;
scanf("%d", &x); /*user re-prompted */
}
我的想法是我必须使用 ASCII 和循环,但我就是无法做到。此外,输入的值会发送到函数进行比较,然后返回。
有人可以给我一些建议和一些提示吗?
非常感谢