void main()
{
int p;
int ret;
}
関数point_set()を作成し、main関数からpoint_set()の呼び出しを行いpoint_set()の関数でpに100を入れる。
又、point_set()を呼び出す前後でpの値を表示しなさい。(よろポインタを使う事)
よろしくお願いします。
教えてください。
Re:教えてください。
こちらのHPの(2)アドレスによる渡し を熟読していただければヒントがあると思います。
http://www9.plala.or.jp/sgwr-t/c/sec11-2.html
http://www9.plala.or.jp/sgwr-t/c/sec11-2.html
Re:教えてください。
サイトを見て自分なりにしてみました! これで正しいでしょうか?
#include <stdio.h>
int point_set();
int main(void)
{
int *p;
int ret;
ret=0;
p=&ret;
printf("最初のpの値を表示します\n");
printf("p=%d\n", *p);
*p=point_set(&p);
printf("変更後のpの値を表示します\n");
printf("p=%d\n", *p);
return 0;
}
int point_set(int *x)
{
*x=100;
return *x;
}
#include <stdio.h>
int point_set();
int main(void)
{
int *p;
int ret;
ret=0;
p=&ret;
printf("最初のpの値を表示します\n");
printf("p=%d\n", *p);
*p=point_set(&p);
printf("変更後のpの値を表示します\n");
printf("p=%d\n", *p);
return 0;
}
int point_set(int *x)
{
*x=100;
return *x;
}
Re:教えてください。
> サイトを見て自分なりにしてみました! これで正しいでしょうか?
もし、お手元にコンパイル・実行できる環境があるならば、
まずはご自分で確かめてみてください。
もし、お手元にコンパイル・実行できる環境があるならば、
まずはご自分で確かめてみてください。
Re:教えてください。
> 一様コンパイルができ、結果も表示されたのですが、これでいいのか不安だったので・・・。
一様じゃなくって「一応(いちおう)」です。それはさておき、
くだんのコードをBorland C++ Compilerでコンパイルすると、
警告 W8065 D:\My Programs\C\temp1\temp1.c 15: プロトタイプ宣言のない関数 'point_set' の呼び出し(関数 main )
という警告が出ました。これは、コードの3行目にあるプロトタイプ宣言
int point_set();
で、カッコの中に引数の宣言がないからです。そこで、
int point_set(int *x);
と修正したところ、今度は
警告 W8075 D:\My Programs\C\temp1\temp1.c 15: 問題のあるポインタの変換(関数 main )
という警告が出ました。これは、コードの15行目で
*p=point_set(&p);
と書いているカッコの中がint **型であり、point_set関数の実際の引数の型と
異なっているからです。この警告を無視して実行してみたところ、
プログラムが異常終了しました。
さて、こういった風に、くだんのコードにはいろいろと問題があります。
「結果が表示された」というのが、私にはにわかに信じがたいです。
一様じゃなくって「一応(いちおう)」です。それはさておき、
くだんのコードをBorland C++ Compilerでコンパイルすると、
警告 W8065 D:\My Programs\C\temp1\temp1.c 15: プロトタイプ宣言のない関数 'point_set' の呼び出し(関数 main )
という警告が出ました。これは、コードの3行目にあるプロトタイプ宣言
int point_set();
で、カッコの中に引数の宣言がないからです。そこで、
int point_set(int *x);
と修正したところ、今度は
警告 W8075 D:\My Programs\C\temp1\temp1.c 15: 問題のあるポインタの変換(関数 main )
という警告が出ました。これは、コードの15行目で
*p=point_set(&p);
と書いているカッコの中がint **型であり、point_set関数の実際の引数の型と
異なっているからです。この警告を無視して実行してみたところ、
プログラムが異常終了しました。
さて、こういった風に、くだんのコードにはいろいろと問題があります。
「結果が表示された」というのが、私にはにわかに信じがたいです。