我不能在 if 语句中使用 char 名称
I can't use char names in if statements
#include<stdio.h>
#include<conio.h>
void main()
{
char sexo;
float alt,peso;
printf("Qual o seu sexo? (M/F)");
sexo=getch();
printf("Insira a sua altura: ");
scanf("&f", &alt);
if (sexo=m||sexo=M||sexo=f||sexo=F)
{
if (sexo=m||sexo=M)
peso=(72.7*alt)-58;
else
peso=(62.1*alt)-44.7;
printf("O peso recomendado para o seu sexo e %.2fKg",peso);
}
else
printf("Sexo invalido");
}
一旦我尝试编译它,我在第 11 行收到错误消息:
error: 'm' undeclared (first use in this function)
error: 'M' undeclared (first use in this function)
error: 'f' undeclared (first use in this function)
error: 'F' undeclared (first use in this function)
||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===||
有人知道发生了什么事吗?
你使用 m & M & f & F 的方式就像它们是可变的而不是字符
这就是你的意思
2-比较运算符是== not = only(这是赋值运算符)
if (sexo=='m'||sexo=='M'||sexo=='f'||sexo=='F')
替换此行
if (sexo=m||sexo=M||sexo=f||sexo=F)
来自
if (sexo=='m'||sexo=='M'||sexo=='f'||sexo=='F')
字符常量用单引号括起来。
首先,如果你想比较两个值,你必须使用==
,而不是=
。单个 equel (=
) 用于初始化变量中的值。
其次,如果你想比较一个值和一个字符,你必须在它前后加上单引号,如sexo == 'A'
。不带引号进行比较,如 sexo == A
意味着您将其与变量 A 的 值进行比较,而不是 A 的 值进行比较。因此,您需要按以下方式更改代码:
变化:
if (sexo=m||sexo=M||sexo=f||sexo=F)
收件人:
if (sexo=='m'||sexo=='M'||sexo=='f'||sexo=='F')
并更改:
if (sexo=m||sexo=M)
收件人:
if (sexo=='m'||sexo=='M')
#include<stdio.h>
#include<conio.h>
void main()
{
char sexo;
float alt,peso;
printf("Qual o seu sexo? (M/F)");
sexo=getch();
printf("Insira a sua altura: ");
scanf("&f", &alt);
if (sexo=m||sexo=M||sexo=f||sexo=F)
{
if (sexo=m||sexo=M)
peso=(72.7*alt)-58;
else
peso=(62.1*alt)-44.7;
printf("O peso recomendado para o seu sexo e %.2fKg",peso);
}
else
printf("Sexo invalido");
}
一旦我尝试编译它,我在第 11 行收到错误消息:
error: 'm' undeclared (first use in this function)
error: 'M' undeclared (first use in this function)
error: 'f' undeclared (first use in this function)
error: 'F' undeclared (first use in this function)
||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===||
有人知道发生了什么事吗?
你使用 m & M & f & F 的方式就像它们是可变的而不是字符 这就是你的意思
2-比较运算符是== not = only(这是赋值运算符)
if (sexo=='m'||sexo=='M'||sexo=='f'||sexo=='F')
替换此行
if (sexo=m||sexo=M||sexo=f||sexo=F)
来自
if (sexo=='m'||sexo=='M'||sexo=='f'||sexo=='F')
字符常量用单引号括起来。
首先,如果你想比较两个值,你必须使用==
,而不是=
。单个 equel (=
) 用于初始化变量中的值。
其次,如果你想比较一个值和一个字符,你必须在它前后加上单引号,如sexo == 'A'
。不带引号进行比较,如 sexo == A
意味着您将其与变量 A 的 值进行比较,而不是 A 的 值进行比较。因此,您需要按以下方式更改代码:
变化:
if (sexo=m||sexo=M||sexo=f||sexo=F)
收件人:
if (sexo=='m'||sexo=='M'||sexo=='f'||sexo=='F')
并更改:
if (sexo=m||sexo=M)
收件人:
if (sexo=='m'||sexo=='M')