无限️ 2024-03-10 23:02 采纳率: 0%
浏览 3136

error c141 : syntax error near ':'这种报错是因为什么

img

img


看了好久都没看出来哪里有问题,可不可以帮我一下,万分感谢!,。

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-03-10 23:06
    关注

    引自免费微信小程序:皆我百晓生

    您在单片机C语言代码中遇到的编译错误提示“error C141: syntax error near ':'”通常意味着在这些行附近存在语法错误。从您提供的代码片段来看,我发现了几个可能的问题:

    1. 行75和76中,您似乎想要对clock_set[0]进行除以10并取整的操作,然后分配给seg_buf[0]seg_buf[1]。但是这里的运算符使用不正确,应该用/%来实现。正确的写法应该是:
    seg_buf[0] = clock_set[0] / 10;
    seg_buf[1] = clock_set[0] % 10;
    
    1. 行88、92、96中的条件表达式也存在问题,首先是符号错乱,其次clock set[0]号这样的变量名明显是输入错误,应该是clock_set[0],同时seg flags?应该是seg_flags?。另外,条件表达式的赋值部分缺少操作符。修正后的代码段应为:
    seg_buf[0] = seg_flags ? (clock_set[0] / 10) : 10;
    seg_buf[1] = seg_flags ? (clock_set[0] % 10) : 10; // 注意这里纠正了错误的索引l为1
    //...
    seg_buf[2] = seg_flags ? (clock_set[1] / 10) : 10;
    seg_buf[3] = seg_flags ? (clock_set[1] % 10) : 10;
    //...
    seg_buf[4] = seg_flags ? (clock_set[2] / 10) : 10;
    seg_buf[5] = seg_flags ? (clock_set[2] % 10) : 10;
    
    1. 行92中的==符号显然是误输入,应当删除。

    修改上述问题后,您的代码片段应该能够避免那些C141语法错误。不过,为了确保程序的完整性和准确性,请您检查整个源文件,确认其他地方没有类似错误,并且所有变量名都已正确声明和使用。此外,由于代码片段不全,可能存在上下文相关的错误,建议根据完整的代码环境进一步排查。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月10日