int printf(const char *format,...)printfに限らず、基本的に関数は、
戻り値 関数名(パラメータ)といった形で宣言されます。
そして引数とは対照的に、関数側からそれを呼び出した側へ返す値のことを戻り値といいます。printfの場合、(呼び出しに成功した時は)出力した文字数(int型)が戻り値となります。ただし、関数の戻り値は無視できるので、本講座ではprintfを使っても、その戻り値を受け取っていませんでした。
#include<stdio.h>
void sakebi(int a){
int i;
if(a==0)
printf("いい加減にしろ。>いーざ\n");
else{
printf("うぎゃ");
for(i=0;i<a;i++)printf("ぁ");
printf("ッ!!\n");
}
}
main(){
printf("これは、お前に踏み潰されたスライムの痛みだッ!!\n");
sakebi(3);
printf("これは、ひなたぼっこ中に不意打ちを喰らったゴブリンの怒りだッ!\n");
sakebi(6);
printf("ええと、余計なお世話の回復呪文で浄化してしまったスケルトンの分だぁッ!\n");
sakebi(9);
printf("そしてこれは、全てを失った俺の怒りだッ!!\n");
sakebi(0);
printf("ぐふッ。\n");
}
実行結果 これは、お前に踏み潰されたスライムの痛みだッ!! うぎゃぁぁぁッ!! これは、ひなたぼっこ中に不意打ちを喰らったゴブリンの怒りだッ! うぎゃぁぁぁぁぁぁッ!! ええと、余計なお世話の回復呪文で浄化してしまったスケルトンの分だぁッ! うぎゃぁぁぁぁぁぁぁぁぁッ!! そしてこれは、全てを失った俺の怒りだッ!! いい加減にしろ。>いーざ ぐふッ。sakebi関数の中の処理についてはこの際どうでもいいとして、(^_^;注目すべき点は、その宣言部分
void sakebi(int a)の戻り値のところにあるvoidです。戻り値のところがvoidになっているということは、その関数に戻り値が無いということです。つまり、sakebi関数は、何も値を返さないということです。
#include<stdio.h>
void sakebi(int a);
main(){
printf("これは、お前に踏み潰されたスライムの痛みだッ!!\n");
sakebi(3);
printf("これは、ひなたぼっこ中に不意打ちを喰らったゴブリンの怒りだッ!\n");
sakebi(6);
printf("ええと、余計なお世話の回復呪文で浄化してしまったスケルトンの分だぁッ!\n");
sakebi(9);
printf("そしてこれは、全てを失った俺の怒りだッ!!\n");
sakebi(0);
printf("ぐふッ。\n");
}
void sakebi(int a){
int i;
if(a==0)
printf("いい加減にしろ。>いーざ\n");
else{
printf("うぎゃ");
for(i=0;i<a;i++)printf("ぁ");
printf("ッ!!\n");
}
}
それと、大切なことを1つ。
mainも関数です。
つづく。