You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言出现multi-character character constant错误如何解决?

问题解答

结论

你的自行排查结论完全正确。

错误原因拆解

  • multi-character character constant报错原因:
    C语言中,单引号'仅可用于包裹单个字符字面量(例如'0'、'a'),你在代码中写的'25'包含了2、5两个字符,属于多字符字符常量,该类常量的取值由编译器实现定义,同时你开启了-Werror编译参数,会将所有警告转为错误直接抛出。且你需要比较的是整数数值,完全不需要用单引号包裹数字。
  • 逻辑运算符错误原因:
    原代码使用||(逻辑或)的判断逻辑为「只要满足其中一个条件就成立」,比如年龄为30时,满足>=0的条件,会错误输出「you are young」。如果要判断年龄落在0~25的闭区间内,必须使用&&(逻辑与),要求两个条件同时成立。

修复后的完整代码

#include <cs50.h>
#include <stdio.h>

int main (void)
{
     int n = get_int("what is your age: ");

     if(n >= 0 && n <= 25)
     {
         printf("you are young\n");
     }
     else
     {
         printf("you are old\n");
     }
}

内容的提问来源于stack exchange,提问作者rasberry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 21:06:02