C言語の問題について分からないところがあります!
#include <stdio.h>
void print_int_dim(int *pa, int n);
int sum_int_dim(int *pa, int n);
int main(void)
{
int a[] = { 5, 9, 6, 3, 4};
int n;
int sum;
n = 5;
sum = sum_int_dim(a, n);
printf("合計 = %d\n", sum);
print_int_dim(a, n);
return 0;
}
/*
整数型配列の内容n件の合計を返す
int sum_int_dim(int *pa, int n)
引数 : int *pa :整数型配列
int n :データ数
戻り値 : int :合計
*/
int sum_int_dim(int *pa, int n)
{
int sum = 0;
int pend;
pend = pa + n;
if(pa < pend) {
sum += *pa;
pa++;
}
return sum;
}
void print_int_dim(int *pa, int n)
{
int *pend;
pend = pa + n;
while (pa < pend) {
printf("%d", *pa);
pa++;
}
printf("\n");
return ;
}
この実行結果は
合計 = 5
59634
になりますが、
合計 = 27
59634
このようにしたいのですがどうすればよろしいでしょうか。
回答お待ちしています。
No.2ベストアンサー
- 回答日時:
int sum = 0;
int pend;
pend = pa + n;
if(pa < pend) {
sum += *pa;
pa++;
}
を
int sum = 0;
for(int i = 0;i < n;i++) {
sum += pa[i];
}
にかえるとかの工夫が必要です。
No.1
- 回答日時:
コードの問題ではなく、
≫≫ int a[] = { 5, 9, 6, 3, 4};
≫≫ int n;
≫≫ n = 5;
なので、できません。
なお、正しく動作しているのでしたら、
≫≫ 合計 = 5
≫≫ 59634
にはならないと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語の問題です。 1 2021/12/22 02:57
- C言語・C++・C# 関数へのポインタを返す関数 2 2022/02/05 22:12
- C言語・C++・C# C言語 ループ中からの関数の呼び出し方のコーディング 2 2021/11/02 09:33
- C言語・C++・C# C#のコンパイルエラーCS0120に関する質問です。 1 2021/12/21 08:51
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# 次のプログラムでは、配列yの中に数値0,1,2がいくつあるか数えて実行例のように出力するプログラムの 1 2021/11/15 20:21
- C言語・C++・C# C#のラムダ式に関する質問です 2 2021/12/19 23:04
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- Java javaのmaxを使ったプログラムについて 2 2021/10/27 16:25
- C言語・C++・C# C言語です 2 2023/10/16 01:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語での引数の省略方法
-
【C++】関数ポインタの使い方
-
「指定されたキャストは有効で...
-
#define _CRT_SECURE_NO_WARNIN...
-
複数桁10進数の*桁目だけを抽出...
-
「{ } で囲むだけ」は正しい?
-
実数の整数部,小数部の取得
-
c言語の配列を使ってサイコロを...
-
if と配列の組み合わせ
-
C言語で行列の積を計算できるよ...
-
入力を待たずにstdinの監視をし...
-
C言語 エラーの原因がわからな...
-
C++でvectorにテキストファイル...
-
ラップ関数とはどんなものですか?
-
数字列を3桁ごとにカンマで区切...
-
return 1L
-
PowerShellがうまくいかない
-
C言語の配列をC++のvectorに高...
-
野球の対戦成績のテーブル表示...
-
部分行列の抜き出し(C言語)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
複数桁10進数の*桁目だけを抽出...
-
【C++】関数ポインタの使い方
-
C言語 エラーの原因がわからな...
-
c++でテンプレートのコードでわ...
-
(int *)の意味
-
ラップ関数とはどんなものですか?
-
数字列を3桁ごとにカンマで区切...
-
c言語のリダイレクトによる円...
-
比較回数と交換回数表示について
-
実数の整数部,小数部の取得
-
if と配列の組み合わせ
-
構造体の勉強中です 合計点の高...
-
PowerShellがうまくいかない
-
c言語の配列を使ってサイコロを...
-
課題でつまってます・・・
-
C言語のサイコロシミュレート
-
エラー 添字が付けられた値が、...
おすすめ情報
別のパソコンでコンパイルしたら
合計 = 0
59634
でした。すみません。
int n;
int sum;
n = 5;
は元から問題に書いてある文です。