ページ 11

c言語のint char

Posted: 2023年3月07日(火) 13:24
by かい

コード:

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

Re: c言語のint char

Posted: 2023年3月07日(火) 16:57
by box
そもそも、getchar関数の戻り値の型はintです。
また、本当にchar moji[]と書いたのであれば、
要素数がわからない配列を定義しようとしているので
コンパイルが通らないはずです。

Re: c言語のint char

Posted: 2023年3月09日(木) 08:37
by あたっしゅ
東上海美「
初心者あるある質問みみ。

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

あと、C/C++ では、『文字型(一文字)』と『文字列(文字の配列)』 は、別扱いです。
Python では、『文字型(一文字)』を『一文字分の文字配列』として取り扱います。