为什么下面的c语言while循环会失败啊?

#include<stdio.h>
void max(int i, int j)
{
if(i > j)
printf("%d > %d\n", i, j);
else
printf("%d > %d\n", j, i);

}
int main(void)
int a, b;
char ch;

do
{
printf("请输入要进行比大小的两个数字,中间用空格隔开\n");
scanf("%d %d",&a, &b);

max (a, b);
printf("如果要继续请输入Yes\n");
scanf(" %c", &ch);//%c前面必须加空格

}
while('yes'==ch || 'Yes'==ch);

return 0;
}

ch是字符,你只能从键盘输入单个字符存入ch,不能用ch和yes这种字符串比较大小

#include<stdio.h>

void max(int i, int j)
{
    if (i > j)
        printf("%d > %d\n", i, j);
    else
        printf("%d > %d\n", j, i);

}

int main(void)
{
    int a, b;
    char ch;

    do
    {
    printf("请输入要进行比大小的两个数字,中间用空格隔开\n");
    scanf("%d %d", &a, &b);

    max(a, b);
    printf("如果要继续请输入Y或者y\n");
    scanf(" %c", &ch);    //%c前面必须加空格

    } while ('y' == ch || 'Y' == ch);    //ch是字符,所以只能和Y/y比较是否相等,"yes"是字符串

    return 0;
}

温馨提示:答案为网友推荐,仅供参考
相似回答