こんにちわ

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

こんにちわ

#1

投稿記事 by uhoho » 10年前

これを、ポインタで表したいのですが、どうすればいいのでしょうか?
#include <stdio.h>

//プロトタイプ宣言
int disp(int i);

int main(void)
{
	int i;
	
	for(i=5; i>=-5; i--){
		disp(i);
	}
	
	return 0;
}
int disp(int i)
{
	int j;
	
	for(j=0; j<i*i; j++){
		if(i > 0){		//iが0より大きければ"+"を表示
			printf("+");
		}else{			//そうでなければ"-"を表示
			printf("-");
		}
	}
	printf("\n");
	
	return j;
}
 

管理人

Re:こんにちわ

#2

投稿記事 by 管理人 » 10年前

関数先で値が変更されていないのでポインタを使う意味は無いように思いますが、
使わないといけないのでしょうか?
ポインタを使う宿題かなにかなのでしょうか。

それならメイン関数内のdisp(i);をdisp(&i);にして、

disp関数内のiを全て*iに書き換えるとOKです。

閉鎖

“C言語何でも質問掲示板” へ戻る