possible assignment in condition (C)

后端 未结 2 374
鱼传尺愫
鱼传尺愫 2021-01-21 19:40

I have to find is the number \"a\" a two-digit odd. Mistake comes on if

#include 
main ()
{
    int a,k;
    int count=0;
    printf (\"input numb         


        
相关标签:
2条回答
  • 2021-01-21 20:10

    GCC is complaining about this:

    if (k = 1 && count = 2)
    

    The equality operator is a double equals sign: ==. What you've used, the single equals sign =, is the assignment operator.

    You are setting k to 1 and count to 2, and that if will always be executed.

    The message you're getting is designed to help people quickly catch exactly this problem.

    0 讨论(0)
  • 2021-01-21 20:16

    The error is here:

    if (k = 1 && count = 2)
    

    you probably meant:

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

    = is an assignment. == is a comparison for equality.

    Also, the loop is not necessary. You can check if the number is two digits by checking if it's less than 100 and greater than or equal to 10.

    0 讨论(0)
提交回复
热议问题