请问void不是空函数吗??

#include<stdio.h>
int main()
{
void action1(int,int),action2(int,int);
char ch;
int a=15,b=23;
ch=gether();
switch(ch)
{
case'a':
case'A':action1(a,b);break;
case'b':
case'B':action2(a,b);break;
default:putchar('\a');
}
return 0;

viod action(intx,inty)
{
printf("x+y=%d\n",x+y);
}
viod action2(intx,inty)
{
printf("x*y=%d\n",x*y);
}
怎么组合才能形成:对两个整数进行运算,如果输入a或A,就调用action1函数,进行相加运算,如果输入b或B,进行相乘运算。而且 inta=15,b=23是什么意思?? void action1(int,int),action2(int,int);是什么意思?

梦里花落0921
浏览 181回答 2
2回答

慕慕森

首先switch语句,因为小写‘a’与小写‘b’都没有写“break;”因此会继续向下执行到下面判断语句的action语句再break;结束int a=15,b=23则定义了两个整形变量,执行到action1时会使他们相加输出,action2会使他们相乘输出先回答你最后一个,void在函数名前是指无返回值的函数,所谓“返回值”是指执行完该函数后会返回一个类似于运算结果的值,而最开始写这么两个函数是对他们的提前声明,这是因为他们的内容在主函数后面,直接执行的话主函数不知道他们存在故无法调用,因此提前声明就好像是跟main函数打了声招呼:“嘿!我们两个在后面,用到的时候去后面找我们把!”,不这样写就把这两个函数定义在主函数之前也可以。

呼如林

首先要把输入的ch转化一下统一的大小写,最简单应该是把ch直接减或者加一个ascii码的差值,然后switch里就变成case'A':action1(a,b);break;case'B':action2(a,b);break;default:putchar('\a');或者case'a':action1(a,b);break;case'b':action2(a,b);break;default:putchar('\a');int a=15,b=23;的意思是在main的栈里面分配两个储存单位a,b并赋值15,23这里void 的意思是函数不返回任何有效值给主函数
打开App,查看更多内容
随时随地看视频慕课网APP