gyq497 发表于 2023-1-12 17:40:44

新手switch语句求助!!!

#include <stdio.h>
int main()
{
        void action_1(int,int),action_2(int,int);   /*函数声明*/
        char ch;
        int a=15,b=23;
        ch = getchar();
        switch(ch)
        {
                case 'a':
                case 'A':action_1(a,b);break;
                case 'b':
                case 'B':action_2(a,b);break;
                default :putchar('\a');
       }
        return 0;
}


报错1:undefined reference to `action_1'
报错2: ld returned 1 exit status

gyq497 发表于 2023-1-12 17:48:49

在后面加上
void action_1(int x,int y)
{
        printf("x+y=%d\n",x+y);
}
void action_2(int x,int y)
{
        printf("x*y=%d\n",x*y);
}
就解决啦

额外减小 发表于 2023-1-12 18:23:12

如果解决
请设置最佳答案

ExiaGN001 发表于 2023-1-12 19:06:40

报错1:
错误原因:action_1()和action_2()只被声明,而未被实际定义。
底层逻辑:你未说明以上函数应该如何执行,故报错。
改进方法:实际定义与声明类型相同且参数列表相同的void action_1(int ,int ),void action_2(int ,int );
(此函数可以写在main()之后)

报错2:
错误原因:未关闭上次运行时生成的cmd/console pauser进程(黑框)。
底层逻辑:编译器自身功能限制,与代码无关。
改进方法:结束以上进程,重新(尝试)通过编译器 重新编译,连接,运行。

如果有用请设置最佳谢谢!

jhq999 发表于 2023-1-12 20:16:13

上面的两位,楼主已经自问自答了{:5_109:}
页: [1]
查看完整版本: 新手switch语句求助!!!