入門編で

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

入門編で

#1

投稿記事 by いずいず » 12年前

今年C言語を習い始めた大学1年です。今日から関数に入ったので、復習に練習問題を解いています。
目標は


高さ:5
横幅:3
------------------------
***
***
***
***
***


とさせたいのですが


高さ:5
横幅:3
------------------------
***
***
***
***
***
4

と、数字が最後に入ってきてしまうのです。原因がさっぱり分かりません。どうしたらいいのでしょうか?
以下が私のコードになります。


#include<stdio.h>

int put_stars(int x,int y)
{
int i,j;
for(i=1;i<=x;i++){
for(j=1;j<=y;j++)
printf("*");

printf("\n");
}
return(i,j);
}
int main(void)
{
int a,b;

printf("横幅:"); scanf("%d",&b);
printf("高さ:"); scanf("%d",&a);


printf("--------------------------------\n\n");

printf("%d",put_stars(a,b));

return(0);
}

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: 入門編で

#2

投稿記事 by みけCAT » 12年前

printf("%d",略);と書いており、exit(0);などの終了させる処理やゼロ除算などの強制終了の原因も見当たらないので、
数字が出力されるのは正常です。
普通にput_stars(a,b);と書いて関数を呼び出してください。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

box
記事: 2002
登録日時: 15年前

Re: 入門編で

#3

投稿記事 by box » 12年前

いずいず さんが書きました:

コード:

	return(i,j);
主な原因はここです。これは、何をしたいのでしょうか。
そもそも、put_stars関数の戻り値がint型である理由が私にはわかりません。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

閉鎖

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