c - 整数或字符的 scanf()

标签 c scanf

假设我有一个 while 循环,它会在条件“isDone”设置为 true 时结束。在 while 循环内,我要求用户输入一个整数以继续循环或输入一个字符以结束它(通过将“isDone”设置为 true)。

我如何只使用一个 scanf() 来解决这个问题?

最佳答案

上面的建议是很好的建议:您最好根本不使用 scanf()。使用类似 fgets() 的东西可能会更好相反,然后解析字符串。或者更好,只需使用 getchar() .

但是无论如何...

请记住,在 C 语言中,“字符” 一个整数。所以只需 scanf("%c", &i) 并检查您是否有“整数”(isdigit())或“字符”(isalpha())。

关于c - 整数或字符的 scanf(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49725845/

相关文章:

c - 后台进程和挂起进程 - 在 C 中实现作业控制 Shell

c - fscanf() 仅读取文本

c - fscanf() 接受输入

c - TFT 液晶显示屏速度问题

c - 如何使用C中的系统调用逐行读取

c - 在 C 中初始化 char 和 string 变量

c - scanf char* word in struct 仅显示最后输入

C语言-scanf更多输入但不知道有多少输入

c - 确保用户的输入与我的程序生成的字符相匹配

c - 使用 pthread 模拟发送和接收