C言語プログラム能力検定の問題でわからないところがあります
今度C言語プログラム能力検定を受けるのですが、過去問の回答ではわからず質問させてもらってます(以下ソース)
------------------------------------------
#include<stdio.h>
int mod(int a, int b);
int d, f = 10;
main()
{
int a,b,c;
enum cl {g,h}
a=12; b=5;
c=mod(a,b);
a++; ++b;
c=mod(a,b);
printf("c=%d\n",c); ←(1)
}
int mod(int b, int a)
{
int c;
c=b/a;
c=b-c*a;
return(c);
}
--------------------------------------------------
問題は(1)はどのように出力されるでしょう?といったもので、
答え(出力結果)は「1」でした。回答の説明によると
「変数cはmain関数内で宣言され、mod関数の戻り値が格納される。
mod関数の戻り値は二つの引数の剰余であり、ここでは2回目のmod関数
の戻り値が表示される。2回目の仮引数は、aが6で、bが13で戻り値は1になる」
ということでしたが>mod関数の戻り値は二つの引数の剰余であり…
というのがよくわかりません…剰余算というのは「%」のことですよね?
であれば「c= a % b」といった記述がでてくれば13÷6=2…1で「1」となり、理解できるのですが、それらしき記述がないので(--;)
どなたか教えていただけないでしょうか?
よろしくおねがいします。
お礼
画像が添付できなかったので立て直します。
補足
ありがとうございます。 参考書の関数と戻り値のところを見ていると int main(int x=4,int y=5)←(引数だと思っている物) { 処理内容 return it;(itは変数内容(宣言済み))←(返り値だと思っている物) } 両方ともint main()に格納されているのかな?と思ってしまいました。