This question already has answers here:
Inadvertent use of = instead of ==
                                
                                    (28个答案)
                                
                        
                                2年前关闭。
            
                    
因此,我正在练习函数循环等,但我坚持这样做。我是编程方面的初学者,但是我进行了大量搜索,这使我学习起来更快了。
(通过我尝试代码的方式来检查用户输入的内容是否为数字。)

printf("Define numbers.\n");
        printf("Select: ");
        scanf("%d", &x);
        printf("Select: ");
        scanf("%d", &y);
        if (y = temp)
        {
            printf("Division of something by 0 is undefined.\n");
        }
        else
        {
            printf("Division of %d and %d is %d\n", x, y, div(x, y));
        }


所以我宣布temp = 0我以为可以解决问题,但没有成功。

最佳答案

当您执行y = temp时,您将为y赋予temp的值,在这种情况下为0。在c中,它转换为false逻辑值

你想做的是

if (y == temp)

==运算符测试2个变量之间的相等性

10-05 23:44