低调123456 发表于 2018-7-26 15:38:34

看不懂这段代码

#include <stdio.h>
int main()
{
        void action1(int,int),action2 (int,int);
        char ch;
        int a=15,b=23;
        ch=getchar();
        switch(ch)
        {
        case'a':
        case'A':action1(a,b);break;
        case'b':
        case'B':action2(a,b);break;
               
        default:putchar('\a');
        }
        return 0;
}
void action1(int x,int y)
{
        printf("x+y=%d\n",x+y);
}
void action2(int x,int y)
{
        printf("x*y=%d\n",x*y);
}

有点理解不了这段代码

BngThea 发表于 2018-7-26 15:47:26

哪个地方不理解

低调123456 发表于 2018-7-26 15:48:49

BngThea 发表于 2018-7-26 15:47
哪个地方不理解

第四行有点不明白,括号里的int表达的是什么意思

无符号整形 发表于 2018-7-26 15:51:25

低调123456 发表于 2018-7-26 15:48
第四行有点不明白,括号里的int表达的是什么意思

函数声明,它只是告诉编译器这个函数是存在的,只是函数体在后面。(其实更加规范的写法是把声明写在函数外面)

低调123456 发表于 2018-7-26 16:04:52

无符号整形 发表于 2018-7-26 15:51
函数声明,它只是告诉编译器这个函数是存在的,只是函数体在后面。(其实更加规范的写法是把声明写在函数 ...

那规范的写法是怎么样的呢

无符号整形 发表于 2018-7-26 16:18:32

低调123456 发表于 2018-7-26 16:04
那规范的写法是怎么样的呢

把声明写在函数外面,然后不要一起写,就像这样:
#include <stdio.h>

void action1(int,int);
void action2 (int,int);
int main()
{
      char ch;
      int a=15,b=23;
      ch=getchar();
      switch(ch)
      {
      case'a':
      case'A':action1(a,b);break;
      case'b':
      case'B':action2(a,b);break;
               
      default:putchar('\a');
      }
      return 0;
}
void action1(int x,int y)
{
      printf("x+y=%d\n",x+y);
}
void action2(int x,int y)
{
      printf("x*y=%d\n",x*y);
}
页: [1]
查看完整版本: 看不懂这段代码