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ランキング
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語での引数の省略方法
-
「指定されたキャストは有効で...
-
複数桁10進数の*桁目だけを抽出...
-
整数データの配列から同じ値の...
-
c言語の配列を使ってサイコロを...
-
C言語 エラーの原因がわからな...
-
if と配列の組み合わせ
-
次のプログラムを教えてくださ...
-
C言語での奇数の和
-
【C++】関数ポインタの使い方
-
ゴールドバッハの予想のプログラム
-
卒業研究でよく分からないとこ...
-
VB6でAddressOfを使った良いサ...
-
数字列を3桁ごとにカンマで区切...
-
acceptをalarmでタイムアウトさ...
-
c言語
-
実数の整数部,小数部の取得
-
式は定数値が必要です」という...
-
gccで64ビット整数
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
「指定されたキャストは有効で...
-
C言語 配列と関数の練習問題
-
複数桁10進数の*桁目だけを抽出...
-
(int *)の意味
-
if と配列の組み合わせ
-
ラップ関数とはどんなものですか?
-
卒業研究でよく分からないとこ...
-
【C++】関数ポインタの使い方
-
c言語
-
足して100になるような乱数のア...
-
C言語初心者です、、、お助けく...
-
数字列を3桁ごとにカンマで区切...
-
C言語 エラーの原因がわからな...
-
実数の整数部,小数部の取得
-
課題でつまってます・・・
-
商と剰余を同時に求める(C言語)
-
C言語の配列をC++のvectorに高...
-
std::set<int> で、ある値が何...
おすすめ情報
別のパソコンでコンパイルしたら
合計 = 0
59634
でした。すみません。
int n;
int sum;
n = 5;
は元から問題に書いてある文です。