c++ - 仅输入 1 和 0
问题描述
我只想在 (while) 中验证 1 和 0,但是使用此代码时出现错误。
do {
printf("kostas :");
gets(pinakasa[i].noshleia);
} while (pinakasa[i].noshleia != 1 || piakasa[i].noshleia != 0);
解决方案
gets()
char[]
用从 读入的字符填充缓冲区STDIN
。您正在尝试将char*
指针(achar[]
衰减为)与一个int
值进行比较,但这是行不通的。您需要进行字符串比较,例如:
do {
printf("kostas :");
gets(pinakasa[i].noshleia);
}
while (
(strcmp(pinakasa[i].noshleia, "1") != 0) &&
(strcmp(pinakasa[i].noshleia, "0") != 0)
);
推荐阅读
- javascript - onmouseover 事件不播放声音的奇怪问题
- python - Python3中相对导入的等价物
- angular - 如何在特定条件下使用导入?
- python - Pip install requests error TypeError: __init__() got an unexpected keyword argument 'max_retries'
- vb.net - 停止选择案例在 VB 中重复
- google-cloud-firestore - 仅当先前条件在 Firestore 安全规则中返回 true 时,如何评估条件
- linux - 我们如何在 Linux 中正确使用管道?
- ethereum - Azure 区块链工作台应用在配置中使用结构
- xamarin - 如何强制 Xamarin Forms 标签或视图重绘以防止重复标签
- javascript - 使用 jQuery过滤元素