2401_83484026 2024-03-11 18:48 采纳率: 50%
浏览 1

按照课上给的代码示范写的,但是编译运行错误,求解一下错在哪里如何改正🙏

img


和示范内容没有差别,但是编译运行时除了错误,也看不懂错误问题,希望不吝赐教,指正一下谢谢!

  • 写回答

4条回答 默认 最新

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

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

    根据您提供的错误信息,编译器在链接时无法找到 -lobjc,这个错误通常发生在尝试编译带有 Objective-C 代码的程序时,而您的代码是用 C 语言编写的,并且没有使用到 Objective-C。因此,您应该检查项目设置或编译命令行选项,确保不包含 -lobjc 这个不需要的链接参数。

    针对您给出的 C 语言源代码,我也发现了几处问题:

    1. 第7行的变量声明 int bill=0j 中的 j 应该是 ; 结束符,正确的写法应该是 int bill = 0;
    2. 第10行和第12行的 scanf 函数中,输入格式说明符前的指针符号 & 没有正确显示出来,应该是 %d 后面跟着变量地址,应更改为:
      scanf("%d", &price);
      scanf("%d", &bill);
      

    修改后的完整代码如下:

    #include<stdio.h>
    
    int main() {
        // 初始化
        int price = 0;
        int bill = 0;
    
        // 读入金额和票面
        printf("请输入金额:");
        scanf("%d", &price);
        printf("请输入票面:");
        scanf("%d", &bill);
    
        // 计算找零
        if (bill >= price) {
            printf("应该找您: %d\n", bill - price);
        } else {
            printf("您的钱不够\n");
        }
    
        return 0;
    }
    

    请检查 Dev-C++ 的项目设置或编译选项,移除 -lobjc 链接参数后重新编译运行。如果是在 IDE 中创建的新项目,请确保选择了 C 语言编译器而不是误选了 Objective-C 编译器。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月11日