在C中做while语句

时间:2018-05-15 04:54:21

标签: c

#include <stdio.h>

int main() 
{
    char a;
    int b,c,d,e;
    int i =0;

    do {
        printf("Enter pet size (s/m/l): ");
        scanf("%s", a);

        printf("Enter number of days: ");
        scanf("%d", b);
        c = b * 8;
        d = b * 11;
        e = b * 14;

        if ( a = 's') 
        {
            printf("Kennelling cost: %d\n", c);
        }
        else if ( a = 'm')
        {
            printf("Kennelling cost: %d\n", d);
        }
        else 
        {
            printf("Kenneling cost: %d\n", e);
        }
    } while (i =0);

    return 0;
}

当尝试输入天数时,它会完全跳过该语句并自动乘以随机数。我不知道问题是什么问题,据我所知,语法似乎是正确的。

3 个答案:

答案 0 :(得分:2)

&#39; =&#39;与&#39; ==&#39;完全不同。通过执行a='s'i=0,您可以将值分配给变量。

请使用&#39; ==&#39;用于条件验证。

答案 1 :(得分:1)

您在布尔表达式中使用赋值运算符Public void LoginToClient() { extentTest = extent.startTest("Login Test"); driver.findElement(By.id("username")).SendKeys(username); extentTest.log(LogStatus.INFO, "User Name: " +username); } 而不是=进行比较,这在语法上是有效的,但很可能不是您想要的。

答案 2 :(得分:0)

更正版

sudo yum remove java
没有 地址(&amp;) 运算符的

scanf 语句 比较(==) 运算符需要在 if语句 中使用,而不是 赋值(=) 运营商。