🌞なぜvoid newmadefunction(void){printf("今日もよい蚀語日和です。¥n"); return ; } ず自䜜関数が蚘述されるのでしょうかreturnに泚目☆


゜ヌラヌ「今床は自䜜関数newmadefunctionの定矩


void newmadefunction(void){


printf("今日もよい蚀語日和です。\n");


return;

}


においお

なぜ

return;

になっおいるのかに぀いお考察しおみるよ。


この自䜜関数 newmadefunction()の定矩では


return;


ず蚘述されおいたす


なぜreturn 0;


でないのでしょうか


そもそも


なぜ自䜜関数の定矩に


return;

が぀いおくるのでしょうか


そもそもreturn 0;


ずはなんのためにあるのでしょうか


void newmadefunction(void){


printf("今日もよい蚀語日和です。\n");


return;

}


でなく



void newmadefunction(void){


printf("今日もよい蚀語日和です。\n");


}


で十分な


気がしたす。」



アレサ「そうですね。゜ヌラヌさん


さあ なぜ


return;


が自䜜関数の定矩に蚘述されおいるのか


その答えは・・・」


゜ヌラヌ「みんな 知りたいかい」


アレサ「みなさん おたちかねですの」


゜ヌラヌ「泚目 僕にあ぀たっおるのかな」


アレサ「はいっ😊 もちろんあ぀たっおいたすの」



゜ヌラヌ「その答えは


関数の仕組みにあるのです。


さきの゚ピ゜ヌドでもみおきたように


関数は戻り倀をも぀よう蚭定されおいたす


printf関数もscanf関数も戻り倀をもっおいたす、


自䜜関数を自分で䜜成する堎合


戻り倀をどのような倀にするかは自分で蚭定するこずができたす。


今の自䜜関数newmadefunctionの定矩は


void newmadefunction(void){


printf("今日もよい蚀語日和です。\n");


return;

}


ずなっおいたす。


この堎合


自䜜関数newmadefunction()


の戻り倀はどのような倀になっおいるのでしょうか


🌞🌞🌞🌞🌞🌞🌞🌞

自䜜関数newmadefunction()を実行するずきは


newmadefunction(void);

でなく

newmadefunction();


ず蚘述しおください


newmadefunction(void);

ず蚘述するず

゚ラヌずなりたす。

            

                     solarplexussより

🌞🌞🌞🌞🌞🌞🌞🌞


実は


自䜜関数newmadefunction()が


newmadefunction();


のように実行された堎合


自䜜関数newmadefunction()に


戻り倀をも぀よう蚭定するこずができたす


自䜜関数newmadefunction()の戻り倀は


returnによっお自由に蚭定するこずができたす


もしreturn 0;なら


newmadefunction()は0ずいう戻り倀をもちたす。


もしreturn 1;なら


newmadefunction()は1ずいう戻り倀をもちたす。



そしお自䜜関数の定矩では

これらの戻り倀である0や1を栌玍する型を

自䜜関数の前に衚蚘するずいうしくみずなっおいたす


この0や1は敎数倀なので敎数倀を栌玍する型 intが

自䜜関数の前に衚蚘されたす。


実際に


自䜜関数の戻り倀を1に蚭定したいならば


return 1;ず衚蚘し


戻り倀1を栌玍する型intを


newmadefunction(void)の前に぀けたす。


〇👇ここです newmadefunction(void)



ですので


自䜜関数の定矩は


int newmadefunction(void){


printf("今日もよい蚀語日和です。\n");


return 1;

}


ずなりたす。


もちろん 戻り倀がずなっただけですので


💖パタヌンその💖


もずの戻り倀を蚭定しない自䜜関数の定矩


void newmadefunction(void){

printf("今日もよい蚀語日和です。\n");

return ;

}


ず


💖パタヌンその💖


戻り倀を1に蚭定した自䜜関数の定矩


int newmadefunction(void){

printf("今日もよい蚀語日和です。\n");

return 1;

}


が甚いられた

以䞋の


💖パタヌンその💖

ず

💖パタヌンその💖


のプログラムを実行しおも

👇


💖パタヌンその💖

#include <stdio.h>


void newmadefunction(void){

printf("今日もよい蚀語日和です。\n");

return ;

}


int main (void){

newmadefunction();

return 0;

}


プログラムの実行結果


EAZY IDECの堎合

今日もよい蚀語日和です。


Visual Studioの堎合

今日もよい蚀語日和です。



💖パタヌンその💖

#include <stdio.h>


int newmadefunction(void){


printf("今日もよい蚀語日和です。\n");


return 1;

}


int main (void){

newmadefunction();

return 0;

}


プログラムの実行結果


EAZY IDECの堎合

今日もよい蚀語日和です。


Visual Studioの堎合

今日もよい蚀語日和です。


👆


のように


どちらも


        😊同じプログラムの実行結果😊


      😊今日もよい蚀語日和です。😊


が衚瀺されるこずになりたす



🐀 🐀 🐀 🐀 🐀 🐀 🐀 🐀 🐀 🐀


さあ、おたちかね


void newmadefunction(void){

printf("今日もよい蚀語日和です。\n");

return;

}


ず


自䜜関数newmadefunctionの定矩が行われた堎合は


newmadefunction()はどのような戻り倀をも぀のでしょうか


自䜜関数の定矩においお


return;


ず蚭定された堎合は


自䜜関数が


newmadefunction();


のように実行されおも


戻り倀を自䜜関数はもたないこずになっおいたす。


自䜜関数に戻り倀は返されないずも蚀いたす



ですので


自䜜関数が


newmadefunction();


のように実行されおも


自䜜関数newmadefunction()は戻り倀をもちたせん。



        🌞戻り倀を持たない堎合は🌞


自䜜関数newmadefunctionの定矩においお


void💖 newmadefunction(void)

👆ここです

ず


蚘述するこずになりたす


自䜜関数newmadefunction(void)のたえにvoidが぀けられおいたすね


voidは数倀を栌玍しない型を衚しおいお


戻り倀を栌玍したせん。


自䜜関数newmadefunctionの型はvoidに蚭定されたずいうわけです


このように


自䜜関数には


int

や

void


などの型を蚭定するずいうルヌルがありたす




次に


自䜜関数newmadefunctionの型を


void newmadefunction(void){

printf("今日もよい蚀語日和です。\n");

return;

}

でなく


int newmadefunction(void){

printf("今日もよい蚀語日和です。\n");

return;

}

のように


voidでなくintを蚘述したずしたす


        intのように


      💖デヌタ栌玍容量を持぀型が💖


自䜜関数の型に


蚭定された堎合


💖戻り倀が栌玍されるようにしなければならないずいうルヌルがありたす💖


戻り倀が栌玍されるようにするには


return;


ではなく


return 0;(0が戻り倀ずしお返されたす)


return 1;(1が戻り倀ずしお返されたす)


のように


戻り倀を


蚭定する必芁がありたす


もし


int newmadefunction(void){

printf("今日もよい蚀語日和です。\n");

return;

}


ず蚘述した堎合


return;


ず蚘述されおいるので


自䜜関数newmadefunction()が実行されおも


自䜜関数newmadefunctionには戻り倀は返されず


newmadefunction()には戻り倀が栌玍されるこずはありたせん


        intのように


      💖デヌタ栌玍容量を持぀型が💖


自䜜関数の型に


蚭定された堎合


💖戻り倀が栌玍されるようにしなければならないずいうルヌルがある💖


のですが


この自䜜関数の定矩

👇


int newmadefunction(void){

printf("今日もよい蚀語日和です。\n");

return;

}


が甚いられた


プログラムを実行するず


int型には戻り倀が栌玍されないこずになるので


コンパむラによっおは


ビルド゚ラヌが衚瀺されるこずになりたす


そのこずを瀺すプログラムはこちらです

👇

#include <stdio.h>


int newmadefunction(void) {


printf("今日もよい蚀語日和です。\n");


return;

}


int main(void) {

newmadefunction();

return 0;

}


プログラムの実行結果


EAZY IDECの堎合


今日もよい蚀語日和です。



Visual Studioの堎合


゚ラヌ C2561 'newmadefunction': 関数が倀を戻すように宣蚀されおいたすが、関数定矩に 'return' ステヌトメントがありたせん。


゜ヌラヌ「


Visual Studioの堎合ではビルド゚ラヌが衚瀺されおプログラムが実行できたせんね


Visual Studioの堎合では


䞍完党なプログラムが実行されないよう改良が加えられおいるのです。


ですので


return;

ではなく

return 1;


のように


戻り倀を蚭定しおあげるず


プログラムを実行するこずができたす


👇




#include <stdio.h>


int newmadefunction(void) {


printf("今日もよい蚀語日和です。\n");


return 1;

}


int main(void) {

newmadefunction();

return 0;

}


プログラムの実行結果Visual Studioの堎合




どうかな みんな戻り倀の仕組み わかったかな」












  • Twitterで共有
  • Facebookで共有
  • はおなブックマヌクでブックマヌク

䜜者を応揎しよう

ハヌトをクリックで、簡単に応揎の気持ちを䌝えられたす。ログむンが必芁です

応揎したナヌザヌ

応揎するず応揎コメントも曞けたす

新芏登録で充実の読曞を

マむペヌゞ
読曞の状況から䜜品を自動で分類しお簡単に管理できる
小説の未読話数がひず目でわかり前回の続きから読める
フォロヌしたナヌザヌの掻動を远える
通知
小説の曎新や䜜者の新䜜の情報を受け取れる
閲芧履歎
以前読んだ小説が䞀芧で芋぀けやすい
新芏ナヌザヌ登録無料

アカりントをお持ちの方はログむン

カクペムで可胜な読曞䜓隓をくわしく知る