ページ 11

特殊文字¥rについて

Posted: 2022年10月09日(日) 13:47
by taroC
入門本での特殊文字の例題練習で下記コードの実行結果が453になるはずなのですが、
45になってしまい調べるとprintf("123\r45\n")にしてみた所、453となりました。

自分としては著者が\nを本に書き忘れてるのでは?と思いました。

分からないのは改行\nを書くと書かないので実行結果が変わってしまうのはなぜなのかです。

コード:

#include <stdio.h>

int main(void){

	printf("123\r45");
	
	return 0;
}
環境
OS : windows 11
visual studio 2022

C言語を始めたばかりです。
分かるという方がおられましたらよろしくお願いします。

Re: 特殊文字¥rについて

Posted: 2022年10月09日(日) 21:30
by あたっしゅ
東上☆海美☆「
vs2022 のデバッガーが、実行ファイルから、戻ってきたときに、

"(半角スペース)\n
(実行ファイル名).exe (プロセス 21880) は、コード 0 で終了しました。\n
デバッグが停止したときに自動的にコンソールを閉じるには、[ツール] -> [オプション] -> [デバッグ] -> [デバッグの停止時に自\n
動的にコンソールを閉じる] を有効にします。\n
このウィンドウを閉じるには、任意のキーを押してください..."

を出力しているので。
直接、(実行ファイル)を実行してみれば、わかると思うみみ。


> 分からないのは改行\nを書くと書かないので実行結果が変わってしまうのはなぜなのかです。

改行\nを書くと、改行\nが出力されます。
改行\nを書かなければ、改行\nが出力されません。
実行結果が変わってしまうのは、当然みみ。

Re: 特殊文字¥rについて

Posted: 2022年10月10日(月) 02:22
by taroC
入門本の序盤で分からなくて進めませんでしたがおかげで助かりました。
詳しく教えていただき本当にありがとうございました!