関数

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: 関数

Re: 関数

#2

by purin52002 » 8年前

こんにちは

main関数、func1関数、func2関数の順に定義するプログラムの書き換え方は以下のようになります。
(func1、func2の中身は適当)

コード:

int main()
{
    func1();
    func2();
}

void func1(void) {}
void func2(void) {}
これで、main関数、func1関数、func2関数の順に定義できました。
しかしこのままではエラーが出ます。

プログラムは基本的に上から下へ実行され、
急に出てきたfunc1やfunc2にコンパイラが驚いてしまうからです。

これは変数を扱うときにもいえます。

コード:

int main()
{
    a = 10;//エラー aってなんだ?
}
こういうときは宣言を行います。

コード:

int main()
{
    int a;
    a = 10;//エラーにならない
}
関数も同じです。
関数の宣言を行います。(これがプロトタイプ宣言)

コード:

void func1(void);//ここで関数宣言
void func2(void);

int main()
{
    func1();
    func2();
}

void func1(void) {}
void func2(void) {}
こんなんでどうでしょう?

関数

#1

by hot » 8年前

以下のプログラムをmain関数、func1関数、func2関数の順に定義するプログラムの書き換え方を教えてください
いつもコンパイルエラーがでてできません
プロトタイプを宣言を利用したほうがいいとアドバイスをもらいました
#include<stdio.h>
#include<math.h>

int main()

double func2(double a)
{
return(a*2);
}

double func1(double a)
{
return(func2(a));
}

int main()
{

ページトップ