gpt4 book ai didi

c - 代码不读取if语句

转载 作者:行者123 更新时间:2023-11-30 21:08:34 25 4
gpt4 key购买 nike

      #include <stdio.h>
#include <stdlib.h>

出了什么问题?

   int main()

这是代码

    {
char planet;
char earth;
int weight;
float mass;
int a=9;
printf("Planet Name \n");
scanf("%s",&planet);

编译器不会读取if语句,而是跳转到else语句

    if(planet=earth){

printf("Enter your weight \n");
scanf("%d",weight);
mass=weight/a;
printf("Your mass is %d",mass);}
else {
printf("Aww,snap!!!!!!We couldn't find the data");
}

return 0;}

最佳答案

当你这样做时

if(planet=earth){

您所做的相当于:

char x = planet=earth;
if(x){

而不是

bool x = 行星==地球; 如果(x){

错误的部分是根据语言空间

if(x){

可以被编译器接受,如果 x 不是 bool 表达式,它将转换为 bool 表达式,但遵循以下条件:

  • 如果 x 为零,则为 false,否则为 true。

所以最后

if(false){ //never met until the char given as input is a valid
...
else {
printf("Aww,snap!!!!!!We couldn't find the data");
}

关于c - 代码不读取if语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37906099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com