例 printf("%d\n", a); /* 引数は、"%d\n" と a */ printf("%d %f %c \n", i, r, c); /* 引数は、"%d %f %c \n" と i と r と c */ scanf("%c", &c); /* 引数は、"%c" と &c */ |
(この例のように printf
や scanf
は、少し特殊な例で、引数の数
が変化しても良いようになっている。このような引数の数が変化しても良いような
関数を自分で作成するのは、いささか面倒な手続きが必要である。通常は、引数の
数は決まっていると考えて良い。)
まったく引数の無い関数があっても構わないが、その場合でも丸括弧で囲まなければ ならない。
例 hikisunashi(); /* 引数がない例 */ |
また、scanf
で学んだように、関数には返り値がある。この返り値を用いて、
その関数で行った仕事の結果を知ることが出来る。勿論、返り値のない関数もあるし、
返り値を知る必要の無い場合は、利用しなくても良い。
引数も返り値も共に、型がある(例えば整数型を引数に、返り値は実数型とか)点に 注意しよう。
関数の返り値の例 int c; c = printf("abcd\n"); printf("number of character is %d\n", c); |
今まで printf
関数の返り値があることや、その使い方については学んで
こなかったが、実は、printf
関数には返り値があり、出力した文字の数
が整数で返るようになっている(改行 \n
は数えられない。)
従って、この例を実行すると、abcd と出力改行後、number of character is 4
と出力される。
勿論、今まで学んだように、返り値を利用しなくても良い。
返り値を利用しない例 printf("output only\n"); |