条件(C)中的可能分配

时间:2011-09-22 02:29:38

标签: c gcc

我必须找到的数字是“a”两位数的奇数。如果

,错误就会出现
#include <stdio.h>
main ()
{
    int a,k;
    int count=0;
    printf ("input number \n", a);
    scanf ("%d", &a);
    k = a % 2;
    while (a)
    {
        a /= 10;
        count ++;
    }
    if (k = 1 && count = 2)
        printf ("It is \n");
    else
        printf ("It is not \n");
    return (0);
}

2 个答案:

答案 0 :(得分:5)

错误在于:

if (k = 1 && count = 2)
你可能意味着:

if (k == 1 && count == 2)

=是一项任务。 ==是对平等的比较。

此外,循环不是必需的。您可以通过检查该数字是否小于100且大于或等于10来检查该数字是否为两位数。

答案 1 :(得分:1)

海湾合作委员会抱怨这个:

if (k = 1 && count = 2)

等于运算符是双等号:==。您使用的是单个等号=,它是赋值运算符。

您将k设置为1,将count设置为2,并始终执行if

您获得的信息旨在帮助人们快速捕捉到这个问题。