- 締切済み
C言語
C言語のプログラミングでコンパイルしたら 2-1.c:28:9: 警告: unknown escape sequence: '\211' 2-1.c:28:9: 警告: unknown escape sequence: '\211' とでました。 どういうことですか?
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- JaritenCat
- ベストアンサー率37% (122/322)
ちなみに、"\211\211"はシフトJISで「演」ですが、そのコンパイラはシフトJISに対応していますか??
- asuncion
- ベストアンサー率33% (2127/6289)
とりあえず、当該ソースコードをすべてさらしてみてはいかがでしょうか。
- php504
- ベストアンサー率42% (926/2160)
おそらく "~"文字列の中でShift JISの日本語を使っているのだと思われます "表"や"能"などの内部にエスケープコードを含む文字は注意が必要です。
- Tacosan
- ベストアンサー率23% (3656/15482)
文字コードの関係でコンパイラに文句言われてるんだろうね. 「日本語の文字が気に入らない」とか「そんなところで全角使うな」とか, その程度かな. ところで, 「\+8進数3桁」をサポートしていないコンパイラって存在するんですか?>#2
- chie65536
- ベストアンサー率41% (2512/6032)
そのCコンパイラは、リテラル文字列の中の「\+8進数3桁」はサポートされていますか?(「リテラル文字列」とは「"で括られた文字列」のことです) サポートされていない場合は「\211」と書くとエラーになりますので「\x89」に置き換えるなど、工夫が必要です。 なお「文字列の中に、単に\を入れたかっただけ」の場合は「\\」と書かないといけません。 また、"で括られた中ではなく、普通の場所に「8進数」を書く場合は「0+8進数3桁」と書かなければいけません。
- rub_oil
- ベストアンサー率14% (3/21)
OSとコンパイラくらいは書くようにしましょう。 全てのコンパイラが同じメッセージを使用しているとはかぎりません。 それから、このくらいのメッセージは和訳すれば内容がわかるかと思います。 >どういうことですか? 分かりません。 とりあえず、28行目の9文字目あたりに何かゴミがあるようですよ。
補足
OSはLinuxで コンパイラはよくわかりませんがたぶんgccです
補足
ソースは #include <stdio.h> main() { int a, b, c, d, e, f, g, h, i; printf("所持金 = "); scanf("%d", &a); b = a/10000; a = a-b*10000; c = a/5000; a = a-c*5000; d = a/1000; a = a-d*1000; e = a/500; a = a-e*500; f = a/100; a = a-f*100; g = a/50; a = a-g*50; h = a/10; a = a-h*10; i = a/5; a = a-i*5; printf("一万円札%d枚\n五千円札%d\n千円札%d枚\n", b, c, d); printf("五百円硬貨%d枚\n百円硬貨%d枚\n五十円硬貨%d枚\n十円硬貨%d枚\n五円硬貨%d枚\n一円硬貨%d枚\n", e, f, g, h, i, a); } です これは所持金を入力して硬貨、紙幣を何枚持っているのか推測するプログラムです