質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

3回答

230閲覧

C言語 実引数の中身

ryo_py

総合スコア25

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2017/11/28 14:12

編集2017/11/29 01:09

C言語の問題で関数の実引数でよくエラーが出てしまいます。
なにかコツや考え方などがありましたら教えてください。(答えにくかったらゴメンナサイ)

C

1#include <stdio.h> 2#include <stdlib.h> 3void quorem(int a, int b, int *q, int *r); 4int main(int argc, char *argv[]) { 5 int dvnd, dvsr; 6 int quo, rem; 7 if (argc<3) { 8 printf("At least 2 arguments required!\n"); 9 exit(-1); 10 } 11 12 dvnd = atoi(argv[1]); 13 dvsr = atoi(argv[2]); 14 quorem(dvnd, dvsr, &quo, &rem); /*ここの &quo &rem の部分や*/ 15 printf("quotient : %d\n", quo); 16 printf("remainder: %d\n", rem); 17 return 0; 18} 19void quorem(int a, int b, int *q, int *r) { 20 *q = a / b; 21 *r = a % b; 22 return; 23} 24

C

1#include <stdio.h> 2#include <stdlib.h> 3void limit(int min, int max, int * pn); 4int main(void) { 5 int num; 6 printf("? "); scanf("%d", &num); 7 limit(60, 80, &num);  /*この部分を min max &pn と書いていてしまった。 */ 8 printf("%d\n", num); 9 return 0; 10} 11void limit(int min, int max, int * pn) { 12 if (min > *pn){ 13 *pn = min; 14 } else if (*pn > max){ 15 *pn = max; 16 } 17}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ttyp03

2017/11/29 00:00

例えばどのような場合でしょうか。ざっくりしすぎてて、真面目に一から教えようとすると一冊本が書けそうな気がします。
guest

回答3

0

提示いただいたコードから失敗の原因を書いてみます。

コード1
呼び出し先関数の引数の型を把握していない。

コード2
原因1 関数自体の理解度が足りていない。
原因2 自分が何をしたいのかがわかっていない。

こんなところでしょうか。
総じてC言語における関数の理解度不足かと思われます。

投稿2017/11/29 01:16

ttyp03

総合スコア16996

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryo_py

2017/11/29 03:16

ありがとうございます。 要はそうゆうことですよね
guest

0

もう回答解決しちゃってますが、一応。
書いているものがノートパッドとかテキストエディタでしょうか?
(VisualStudioなどの)IDEを利用すると引数の型が間違っていると文法エラーでコンパイル前に出力してくれます。
型がわからない場合、C++の機能ですが、autoキーワードで関数の戻り値を推測してくれるので、それを使ってデバッグ出力してから正式な型を書くのも使えます。

投稿2017/11/29 05:55

m_yoko

総合スコア156

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

関数の仕様をよく理解することでしょうか。
それ以上言いようがないと思います。

ドキュメントを読んでの理解が合っているか確かめるために、テストプログラムを書いて実行してみるとかは、やりますね。

投稿2017/11/28 14:28

otn

総合スコア84380

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2017/11/29 02:27

もしかして、文法エラーのレベルの話だったのでしょうか? であれば、「注意力を鍛える」「よく考える習慣を付ける」でしょうか。
ryo_py

2017/11/29 03:16

がんばります
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問