Getting error : multi-character character constant [-Werror,-Wmultichar]
Getting error : multi-character character constant [-Werror,-Wmultichar]
我正在练习一些编程并想出了这段代码。但我收到此错误消息:来自第 8 行的多字符字符常量 [-Werror,-Wmultichar]
#include <cs50.h>
#include <stdio.h>
int main (void)
{
int n = get_int("what is your age: ");
if( n <= '25' || n >= '0')
{
printf("you are young\n");
}
else
{
printf("you are old\n");
}
}
-结论-
在第 8 行中,不需要 25 和 0 上的单引号,因为 25 和 0 是 int 而不是 char。和||应替换为 && 因为 n 应介于 0 和 25 之间。
' '
是文字 char
值。因为 '25'
不是 char
,它会抛出错误。查看您的代码,也许您不需要文字 char
值,看起来您需要文字 int
值。所以,去掉单引号括号。
此外,n <= 25
或 n >= 0
是 true
对于每个 n
.如果要条件检查 n
是否在 0
和 25
范围内,请更改 ||
(逻辑 OR)到 &&
(逻辑 AND)
因此,总而言之,这是正确的代码:
#include <cs50.h>
#include <stdio.h>
int main ()
{
int n = get_int("what is you age: ");
if( n <= 25 && n >= 0)
{
printf("you are young\n");
}
else
{
printf("you are old\n");
}
}
我正在练习一些编程并想出了这段代码。但我收到此错误消息:来自第 8 行的多字符字符常量 [-Werror,-Wmultichar]
#include <cs50.h>
#include <stdio.h>
int main (void)
{
int n = get_int("what is your age: ");
if( n <= '25' || n >= '0')
{
printf("you are young\n");
}
else
{
printf("you are old\n");
}
}
-结论-
在第 8 行中,不需要 25 和 0 上的单引号,因为 25 和 0 是 int 而不是 char。和||应替换为 && 因为 n 应介于 0 和 25 之间。
' '
是文字 char
值。因为 '25'
不是 char
,它会抛出错误。查看您的代码,也许您不需要文字 char
值,看起来您需要文字 int
值。所以,去掉单引号括号。
此外,n <= 25
或 n >= 0
是 true
对于每个 n
.如果要条件检查 n
是否在 0
和 25
范围内,请更改 ||
(逻辑 OR)到 &&
(逻辑 AND)
因此,总而言之,这是正确的代码:
#include <cs50.h>
#include <stdio.h>
int main ()
{
int n = get_int("what is you age: ");
if( n <= 25 && n >= 0)
{
printf("you are young\n");
}
else
{
printf("you are old\n");
}
}