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

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

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

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

Q&A

解決済

3回答

7271閲覧

Cで¥nの改行がされない?

mofu_mofu

総合スコア73

C

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

0グッド

0クリップ

投稿2018/03/05 12:03

編集2018/03/05 12:21

お世話になっております。

Python3を日常的に使っていてyukicoderの問題を解いているのですが、Cを使う必要が出てきたのでいままで解いたことのあるyukicoderの問題をCで勉強をし直しています。

yukicoderのこの問題を解いているのですが¥nで改行をしているつもりが1¥nのように出力がされ、テストケースで落ちています。

#include <stdio.h> int main(void){ int a,b; scanf("%d%d", &a, &b); if ((b % a) != 0) { printf("%d¥n",(b/a)+1); } else { printf("%d¥n",b/a); } return 0; }
#Input 1 1
#Output Start 1¥n 0 Finish

Wandbox

①¥nが適用されない理由を教えていただけないでしょうか?
②C11/C99/C90などがあると思いますが、それやコンパイラのバージョンの指定ミス?かな?と思ったりもしました。コンパイルする言語に慣れておらず、C11/C90とかgccの違いすらよくわかっていないのですが、提出するときやwandboxで確認するときは何をしていしたらいいのでしょうか?

よろしくお願いします。

-bash-3.2$ gcc --version Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/c++/4.2.1 Apple LLVM version 9.0.0 (clang-900.0.39.2) Target: x86_64-apple-darwin17.4.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Mac OSX HighSierra 10.13.3

#いただいたコメントを受けて

¥nを\nにしたら解決しました。環境依存文字が原因でした(macだと\ = Option + ¥)

#include <stdio.h> int main(void){ int a,b; scanf("%d%d", &a, &b); if ((b % a) != 0) { printf("%d\n",(b/a)+1); } else { printf("%d\n",b/a); } return 0; }

wandbox

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

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

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

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

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

guest

回答3

0

自分の知る限り、それで問題ないはずです。

考えうるものとしては、円記号が全角でないかとかエディタの文字コードとかが挙げられます。

投稿2018/03/05 12:06

HogeAnimalLover

総合スコア4830

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

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

mofu_mofu

2018/03/05 12:23

HogeAnimalLoverさん 解決しました。ありがとうございました。
guest

0

これ、環境依存の円マークを使っていませんか?
普通のバックスラッシュを使えば問題ないかと。Wandbox

投稿2018/03/05 12:09

LouiS0616

総合スコア35658

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

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

mofu_mofu

2018/03/05 12:16

LouiS0616さん お世話になっております。 おっしゃる通りで、バックスラッシュにしたら改行の認識がされました。 winとmacを同じキーボードで両方使っているのですが、OSによって依存するのですね...。ご丁寧にありがとうございました。
guest

0

ベストアンサー

macOSでは、エスケープ文字は¥(円記号)ではなく\(バックスラッシュ)です。\nと書いてください。

本来のASCIIでは、\と書くのですが、日本のJISで¥に置き換えてしまったために、混乱が今まで続いています。

投稿2018/03/05 12:07

maisumakun

総合スコア145121

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

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

episteme

2018/03/05 12:19

ASCIIにも責任あるけどねー。もともと¢だったのをback-slashに差し替えちゃったのよね...
mofu_mofu

2018/03/05 12:22

maisumakunさん バックスラッシュであるべきなのに円マークにしなかったのが原因でした。一番レスポンスが速かったのでBAにさせていただきます。ありがとうございました。
asm

2018/03/05 15:31

\は地域によって差し替えていい文字だったはず キーボードから普通に入力した際にASCIIじゃない方の半角¥を入力するMacがおかしくない?
episteme

2018/03/05 23:49

差し替えて構わん文字か、なるほどー... そんなのをescape文字に採用しちゃった奴は小一時間説教されるべき。 # Macもしばらく正座させられていいとおもう。
maisumakun

2018/03/06 00:06

トライグラフも、ISO646で「差し替えていい文字」までC言語として使ってしまったがゆえの産物ということですし。 # C++17でとうとう廃止されたようですが
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問