为什么是逻辑或||
,你不可能同时等于这些字符,所以肯定为真退出循环,应该用逻辑与&&
或者写成if (sex == 'm' || sex == 'M')
,把不等于换成等于
供参考:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i;
char sex;
for (i = 0;;)
{
i++;
printf("请输入:");
scanf("%c", &sex);
getchar();
if (sex != 'm' && sex != 'M' && sex != 'f' && sex != 'F')
break;
}
printf("录入正确的次数是:%d\n", i-1);
return 0;
}
你这应该是要求用户输入m或者f表示性别吧
是否循环要看你的实现目标是什么?你到底要解决的是什么问题?是一旦用户输入不是m或者f就结束吗,还是不是m或者f就要一直继续呢?这决定你是用break还是continue啊
另外这个i计数用的也不对,还没确定输入是啥呢,就++了
所以,请说清楚你代码想实现的目标是什么
请问你这的问题是什么意思