質問: 上記のタイトルのように、台形の面積を表示するプログラムを作成したいのですが、何回コンパイルしてもエラーが出てしまいます。 とりあえず私は以下のようにプログラムしました。 ``` #include int trapezoid_area(int x,int y,int z) { return ((x+y)*z)/2; } int main() { int a,b,h,result_area; printf("台形の上底aを入力してください。: "); scanf("%d",&a); printf("台形の下底bを入力してください。: "); scanf("%d",&b); printf("台形の高さhを入力してください。: "); scanf("%d",&h); result_area=trapezoid_area(a,b,h); printf("上底%d,下底%d,高さ%dの台形の面積は%dです。\n",a,b,h,result_area); return 0; } ``` しかし、このようにエラーが出てきてしましました。 ``` ex1110.c: In function ‘main’: ex1110.c:13:1: error: stray ‘\343’ in program ��� printf("台形の下底bを入力してください。: "); ^ ex1110.c:13:2: error: stray ‘\200’ in program ��� printf("台形の下底bを入力してください。: "); ^ ex1110.c:13:3: error: stray ‘\200’ in program ��� printf("台形の下底bを入力してください。: "); ^ ex1110.c:13:4: error: stray ‘\343’ in program ���printf("台形の下底bを入力してください。: "); ^ ex1110.c:13:5: error: stray ‘\200’ in program ���printf("台形の下底bを入力してください。: "); ^ ex1110.c:13:6: error: stray ‘\200’ in program ���printf("台形の下底bを入力してください。: "); ^ ex1110.c:15:1: error: stray ‘\343’ in program ��� printf("台形の高さhを入力してください。: "); ^ ex1110.c:15:2: error: stray ‘\200’ in program ��� printf("台形の高さhを入力してください。: "); ^ ex1110.c:15:3: error: stray ‘\200’ in program ��� printf("台形の高さhを入力してください。: "); ^ ex1110.c:15:4: error: stray ‘\343’ in program ���printf("台形の高さhを入力してください。: "); ^ ex1110.c:15:5: error: stray ‘\200’ in program ���printf("台形の高さhを入力してください。: "); ^ ex1110.c:15:6: error: stray ‘\200’ in program ���printf("台形の高さhを入力してください。: "); ^ ex1110.c: At top level: ex1110.c:22:1: error: stray ‘\343’ in program ��� ^ ex1110.c:22:2: error: stray ‘\200’ in program ��� ^ ex1110.c:22:3: error: stray ‘\200’ in program ��� ^ ex1110.c:22:4: error: stray ‘\343’ in program ��� ^ ex1110.c:22:5: error: stray ‘\200’ in program ��� ^ ex1110.c:22:6: error: stray ‘\200’ in program ��� ^ ``` エラーの意味がよくわからなかったので困ったのですが、おそらくmain関数の下底と高さの部分に問題があるのではないかと推測しました。 どこがおかしいのでしょうか。ご回答よろしくお願いします。
回答: コメント欄で指摘のある通り、ソースコード中に **全角** の空白文字が含まれているのが原因ではないでしょうか。 わかりやすいよう、以下はエディタ (Vim) で全角の空白文字をハイライトした画面です。 (13行目と15行目の行頭に2文字分、色が付いている) !画像の説明をここに入力 エラーメッセージのうち、以下の箇所を例に取ると * `ex1110.c` はファイル名 * `13` は何行目 * `1` は何文字目 辺りに問題があることを示しています (文字数は "半角" で換算)。 > > > ``` > ex1110.c:13:1: error: stray ‘\343’ in program > ��� printf("台形の下底bを入力してください。: "); > ^ > > ``` > >