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

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

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

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

Q&A

4回答

1000閲覧

コードのエラーの修正を教えてください

BRUCER

総合スコア4

C

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

0グッド

0クリップ

投稿2020/02/22 07:04

出力の結果を求めたい

いろいろ試しても、エラーメッセージの直す方法がわからない。

発生している問題・エラーメッセージ

Untitled-1.c:4:5: warning: incompatible integer to pointer conversion assigning to 'int *' from 'int' [-Wint-conversion] pN = 99; ^ ~~ Untitled-1.c:7:24: error: function definition is not allowed here void functionB(int *pN){ { ^ Untitled-1.c:30:7: error: expected '}' } ^ Untitled-1.c:3:24: note: to match this '{' void functionA(int *pN){ { ^ 1 warning and 2 errors generated.

該当のソースコード

#include <stdio.h> void functionA(int *pN){ { pN = 99; } void functionB(int *pN){ { *pN = 98; } void functionC(int *pN){ { *pN = 97; pN = 0; } void main(void) { int nValue = 100; printf("%d\n", nValue); functionA(&nValue); printf("%d\n", nValue); functionB(&nValue); printf("%d\n", nValue); functionC(&nValue); printf("%d\n", nValue); }

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

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

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

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

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

otn

2020/02/22 10:13 編集

ちょっと驚いているのですが、空白十数個はさんでの { が目に入らなかったということでしょうか? それとも、ここに { があるのが正当だと思っていたということでしょうか?後者なら単なる初学者の文法覚え間違いで驚くまでのことはないのですが。
guest

回答4

0

まずはエラーメッセージを読みましょう。

英文が読めないと言うなら、google翻訳でもかけて読んでみては。

投稿2020/02/22 07:10

y_waiwai

総合スコア87800

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

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

BRUCER

2020/02/22 07:22

はい、ありがとうございました。
guest

0

まずは、3つの余計な「{」を消せば error (コンパイルエラー)は無くなるはず。やってみたの?>質問者

残るは次だけになるはず。

Untitled-1.c:4:5: warning: incompatible integer to pointer conversion assigning to 'int *' from 'int' [-Wint-conversion] pN = 99; ^ ~~

でも、これは warning (警告)です。コンパイルは通り、実行ファイルまで出来上がるはずだし、実行もできるはず。やってみた?>質問者

そのプログラムは functionA(), functionB(), functionC() によって

  • main() 側の変数 nValue の値が変更されるか否か、を確かめる。その上で
  • なぜそうなるかを考える、各関数の中で行われた代入文は何を書き変えたのか、その動作を理解する

というものだと思う。その目的からみて、上記の warning は重要でないと思う。だって実行できるんだから。
実行した結果はどうなりますか?>質問者

(warning は重要でないが、出なくする方法はあるよ)

投稿2020/02/22 13:45

rubato6809

総合スコア1380

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

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

0

波括弧'{'が多い。
pN = 99;は*pN = 99;の間違い?

投稿2020/02/22 07:11

cateye

総合スコア6851

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

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

cateye

2020/02/22 07:16

ついでに、 pN = 0; は不要です。・・・呼び出し元には、反映されません。
BRUCER

2020/02/22 07:22

ご指摘、ありがとうございました。
guest

0

{}の対応関係がおかしいです。
void functionA(int *pN){ {の二つ目の{は不要です。

投稿2020/02/22 07:10

can110

総合スコア38278

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

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

BRUCER

2020/02/22 07:22

ご指摘、ありがとうございました。
cateye

2020/02/22 07:33

こちらも参考に、『エラーメッセージの読み方と対処, 検索や質問の原則』 →https://qiita.com/cannorin/items/eb062aae88bfe2ad6fe5
cateye

2020/02/22 07:35

あ!間違ってコメントしちゃいました××;・・・ご容赦m(_"_)m
BRUCER

2020/02/22 07:58

いいえ、  大丈夫ですよ〜
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問