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 >= 0true 对于每个 n.如果要条件检查 n 是否在 025 范围内,请更改 ||(逻辑 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");
     }
 }