• ベストアンサー

printf("文字列\n")が円マークなんです!!斜線がでない!!

うちのノートパソコン(IBM)OSはTurbolinux Personalと、デスクトップ(NEC)OSはWindows2000でC言語のプログラミングをすると文字が変なんです。 printf("文字列\n"); と改行のエスケープシークエンス?を入力すると円マーク(\)なんです!! 右下がりの斜線のキーを押してるのに円マーク(\)しかでないんです。二つのPCどちらでやってもです。C言語のテキストでは右下がりの斜線とnで改行のエスケープシークエンス?になっているので見ていて気持ちが悪いです・・・。 ちゃんと右下がりの斜線は出せないものでしょうか。ちなみにキーボードには右下がりの斜線が書いてあります。 プログラミング上も\nで右下がりの斜線と同じ、改行の意味で理解されているらしく、ちゃんと改行されます。 でも右下がりの斜線じゃないと気持ち悪い・・・。直せませんか?

質問者が選んだベストアンサー

  • ベストアンサー
  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.1

日本語環境だと、\で正解です。 同じ意味(文字コード)です。 \(の半角)は バックスラッシュといいます。 日本語フォントでは、歴史的な原因で \ の文字コードと同じものが割り当てられていますので、日本語フォントで表示している限り、 ¥(半角)が表示されます。 歴史的背景をここで解説すると文字数足りなくなりますので。 ここ http://ja.wikipedia.org/wiki/%5C や、ここ http://ja.wikipedia.org/wiki/%E5%86%86%E8%A8%98%E5%8F%B7 を読んでください。

rabitwo
質問者

お礼

回答ありがとうございます。 日本語環境なので、¥で正解でしたか。変だ、変だと思っていましたが、みなさんもそうなのですね。 wikiのページありがとうございます。

その他の回答 (3)

  • php504
  • ベストアンサー率42% (926/2160)
回答No.4

VisualC++ではフォントの設定を"Arial"や"Courier"などの英語フォントにすると表示できますよ。 私は \ でも気にならないので変えてませんが。

rabitwo
質問者

お礼

ありがとうございます。 VisualC++ではフォントの設定を英語フォントにすると表示できるのですね。 VisualC++も別のパソコンに入っているのですが、今はC言語の学習にgccを使っているので今度試してみます。 \で気にならないものなのですね。私のLinux/Unixのテキストで\nはバックスラッシュだったものだから、\になってしまうのが気になって気になって(笑) なんか、C言語のテキストをみたらバックスラッシュではなく始めから\nで説明されていました。 始めに見たテキストがバックスラッシュだったのでそれが標準だと思って気になってるだけなんですね、きっと。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.3

エディタの表示フォントを適切に設定すれば、日本語環境でも逆斜線を出せることがあります。 なお、逆斜線を使えない環境の場合、三文字表記で ??/ と記述するのが正しい作法です(不便なので、そんなことをする人はまずいませんが...)。

rabitwo
質問者

お礼

三文字表記の豆知識ありがとうございます! 不便ですから、やっぱり私も\で妥協します(笑)

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.2

まあ、そういうものだと思っていただくのがいいのかもしれません。 以下は推測です。 もしかすると、英語版のOSを使ったり、BIOSの設定か何かでキーボードを英語仕様にしたりすれば、 "\"キーでバックスラッシュ("¥"ではなく)を入力できるかもしれません。 推測ですので、はずれている確率が大きいです。

rabitwo
質問者

お礼

ありがとうございます。 バックスラッシュがでなくて\マークがかわりに出て、それを使う。そういうものなのですね(^^;

関連するQ&A