我在这做错了什么?循环和角色问题

时间:2017-02-05 05:07:15

标签: c while-loop

所以我对使用while循环非常陌生并且被困在这里。有人能帮我解决这个问题还是指向正确的方向?它是我想要创建的更大程序的一部分。谢谢你的帮助!

它应该继续询问直到" q"进入了。

代码:

#include <stdio.h>
int main(void)
{
    int height, feet, inches;
    char name[30];
    while (name!='q')
    {
        printf("Enter height and first name: ");
        scanf("%d %s", &height, &name);
        inches = height%12;
        feet = height / 12;
        printf("%s's height is %d feet and %d inches.\n", name, feet, inches);
    } 
    return 0;
}

我注意到当我进入结束循环时,程序发疯并开始无限地打印循环的第一行。

2 个答案:

答案 0 :(得分:2)

while (name!='q');

您无法在C中比较此类字符串。您需要使用strcmp,例如while (strcmp(name, "q"))

你正在读哪本书?早期就会在体面的书中强调这一点。

答案 1 :(得分:1)

while (name!='q')替换为while(name[0]!='q')

它会正常工作。