ページ 11

こんにちわ

Posted: 2008年5月12日(月) 11:55
by uhoho
これを、ポインタで表したいのですが、どうすればいいのでしょうか?
#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:こんにちわ

Posted: 2008年5月12日(月) 13:30
by 管理人
関数先で値が変更されていないのでポインタを使う意味は無いように思いますが、
使わないといけないのでしょうか?
ポインタを使う宿題かなにかなのでしょうか。

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

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