亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問void不是空函數嗎??

請問void不是空函數嗎??

C
夢里花落0921 2023-02-16 22:18:51
#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);是什么意思?
查看完整描述

2 回答

?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

  1. 首先switch語句,因為小寫‘a’與小寫‘b’都沒有寫“break;”因此會繼續向下執行到下面判斷語句的action語句再break;結束

  2. int a=15,b=23則定義了兩個整形變量,執行到action1時會使他們相加輸出,action2會使他們相乘輸出

  3. 先回答你最后一個,void在函數名前是指無返回值的函數,所謂“返回值”是指執行完該函數后會返回一個類似于運算結果的值,而最開始寫這么兩個函數是對他們的提前聲明,這是因為他們的內容在主函數后面,直接執行的話主函數不知道他們存在故無法調用,因此提前聲明就好像是跟main函數打了聲招呼:“嘿!我們兩個在后面,用到的時候去后面找我們把!”,不這樣寫就把這兩個函數定義在主函數之前也可以。

查看完整回答
反對 回復 2023-02-20
?
呼如林

TA貢獻1798條經驗 獲得超3個贊

首先要把輸入的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 的意思是函數不返回任何有效值給主函數


查看完整回答
反對 回復 2023-02-20
  • 2 回答
  • 0 關注
  • 126 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號