#include<stdio.h>
int max2(int a,int b)
{
int max;
if(a>b){
max=a;
}else{
max=b;
}
return max;
}
int main(void)
{
int n1,n2;
n1=30;
n2=34;
printf("%d",max2(n1,n2));
return 0;
}
テキストをもとにこのプログラムを書いたんですけど、n1とaを対応させて、
n2とbをそれぞれ対応させているようなのですが、有効範囲的にn1の部分をa、n2をbにして、
aをa、bをbのように対応させてもプログラムに支障はないですよね?
自作関数について・・・
Re: 自作関数について・・・
こんな風にしたい、ってことですか?
だったら、全然問題ありません。
ちなみに、「有効範囲的に」という意味では、上記コードで、main関数におけるa, bとmax2関数におけるa, bとは
全く別物です。
main関数からmax2関数に渡した変数a, bを、「たまたま」max2関数でも同じ変数名a, bで扱っているだけです。
こんがらがることを承知の上で出しておくと、こんなことだって出来ます。
#include <stdio.h>
int max2(int a, int b)
{
int max;
if (a > b) {
max = a;
} else {
max = b;
}
return max;
}
int main(void)
{
int a, b;
a = 30;
b = 34;
printf("%d", max2(a, b));
return 0;
}
ちなみに、「有効範囲的に」という意味では、上記コードで、main関数におけるa, bとmax2関数におけるa, bとは
全く別物です。
main関数からmax2関数に渡した変数a, bを、「たまたま」max2関数でも同じ変数名a, bで扱っているだけです。
こんがらがることを承知の上で出しておくと、こんなことだって出来ます。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。