c言語のint char

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
かい

c言語のint char

#1

投稿記事 by かい » 1年前

コード:

#include <stdio.h>
int main(void)
{
	int moji;
	printf("入力する文字列:");
	while ((moji = getchar()) != '\n')
{
	printf("%c", moji);
}
	return 0;
}
getchar関数を使用し入力された文字列を表示せよという問題でこのコードで一応できているのですが文字列なのでint mojiではなくchar moji[]としないといけないと思い変更したのですが変更したら実行できなくなりました。何故なのでしょうか?

box
記事: 2002
登録日時: 13年前

Re: c言語のint char

#2

投稿記事 by box » 1年前

そもそも、getchar関数の戻り値の型はintです。
また、本当にchar moji[]と書いたのであれば、
要素数がわからない配列を定義しようとしているので
コンパイルが通らないはずです。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

アバター
あたっしゅ
記事: 664
登録日時: 13年前
住所: 東京23区
連絡を取る:

Re: c言語のint char

#3

投稿記事 by あたっしゅ » 1年前

東上海美「
初心者あるある質問みみ。

https://okwave.jp/qa/q5326377.html
getchar()を int でとる理由がわかりません - OKWAVE(ja)

あと、C/C++ では、『文字型(一文字)』と『文字列(文字の配列)』 は、別扱いです。
Python では、『文字型(一文字)』を『一文字分の文字配列』として取り扱います。
VTuber:
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。

中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。

返信

“C言語何でも質問掲示板” へ戻る