プログラミング初心者です。
getcharが使えなくて
困っています。
下記プログラムに"#define putchar(c) putc(c, stdout)"と”#define getchar( ) getc(stdin)”も加えたりしているのですが、結果"。"や"1"などがでてきます。(下はサンプルプログラムです)
どなたか、ご教授よろしくお願いします。
#include <stdio.h>
void main(void);
void main(void)
{
int c;
for (c = 'A'; c <= 'Z'; c++) /* c の値は 'A' から 'Z' まで変化 */
putchar(c); /* 1文字画面に出力 */
printf("\n");
for (c = 'Z'; c >= 'A'; c--) /* c の値は 'Z' から 'A' まで変化 */
putchar(c); /* 1文字画面に出力 */
printf("\n\n");
printf("アルファベットを入力して下さい\n");
printf("eを入力するとループからぬけます\t");
while ((c = getchar( )) != EOF) { /* 文字の入力 */
putchar(c);
if (c == 'e') /* 入力された文字が 'e' なら */
break; /* ループから抜ける */
}
}
No.4ベストアンサー
- 回答日時:
#Codeが
https://www.microsoft.com/ja-jp/store/p/code/9nb …
これだとすると
> #Code is an online compiler
ってあるから、最近流行りの paizaとかideoneとかみたいな感じなのではないでしょうか。
だとすると、入力は、通常のオフラインでの実行とは違っていても不思議ではありません。
返信ありがとうございます。
今はオンラインのコンパイラが流行っているんですね。
提供元のサイトでは解決方法が見当たらなかったので
サポートにメールで連絡できるようなので連絡してみます!
重ねてありがとうございました
No.3
- 回答日時:
「やはり"getchar"のほうは使えません」ということだけど, #2 のプログラムでもやっぱり「使えない」んでしょうか? そうだ
として, 具体的には何がどうなって「使えない」んでしょうか?#2のプログラムでは前回はコピぺでそのままコンパイルできたと思うのですが、
今回またコンパイルしなおしたところエラーが表示され、
"void main(void)"を"int main(void) "
にしたところエラーが表示されずコンパイルできたのですが
入力ができません。
表示は文字化けを除けば正常に表示されていると思います。
No.2
- 回答日時:
いちおう念の為ですが, OS とコンパイラのバージョン, 及び「プログラムを作ってから実行するまでの手順」を書いておいてもらえるとうれしいなと思いつつひょっとして.
例えばですが
#include <stdio.h>
int main(void)
{
int c;
for (c = 'A'; c <= 'Z'; c++) /* c の値は 'A' から 'Z' まで変化 */
putchar(c); /* 1文字画面に出力 */
printf("\n");
for (c = 'Z'; c >= 'A'; c--) /* c の値は 'Z' から 'A' まで変化 */
putchar(c); /* 1文字画面に出力 */
printf("\n\n");
printf("Input alphabet\n");
printf("e for exit\t");
while ((c = getchar( )) != EOF) { /* 文字の入力 */
putchar(c);
if (c == 'e') /* 入力された文字が 'e' なら */
break; /* ループから抜ける */
}
return 0;
}
だったらどうなりますか?
tacosanさん返信ありがとうございます。
プログラムは手探り探索状態なので助かります
OSはwindows10、
エディタはwindowsストアの"#Code"というフリーで手に入れたものです。
バージョンはv.1.1.6 -Added option for editor font size
だと思います。
上記のコードでコンパイルさせていただきましたら
"ABCD……XYZ
ZYXW……DCBA
input alphabet
e for exit"
と出ました。
コンパイルするときは
"Language: C"
"Console Input: Off"
でコンパイルしています
サイトを2つほど見て
"getchar"と"putchar"を使ってみようとしたのですが、
やはり"getchar"のほうは使えません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# C言語 3 2022/10/04 15:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
*をユーザーが入力した数字の数...
-
数字以外が入力されたらエラー...
-
正負を反転させて出力するプロ...
-
プログラミング初心者です。 Py...
-
scanfが2回使えない・・・?;
-
Linuxで入力待ちなしkeyread関...
-
if文の条件にscanf関数を使うと…?
-
scanf が無視されます
-
scanf関数 バッファに残ったエ...
-
java初心者です。入力されたの...
-
scanf("%s", buf);でスペースを...
-
Eclipseコンソール表示を、リセ...
-
double型が正常に認識されてい...
-
入力エラーの処理について。
-
【C言語】入力された文字種別ご...
-
少数部の判定
-
fgetsとループ処理
-
C言語scanf_sで何故か2回入力に...
-
Userformの入力順序をタブオー...
-
enterでループ終了
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
double型が正常に認識されてい...
-
プログラミング初心者です。 Py...
-
正負を反転させて出力するプロ...
-
Excel VBAで、Application.Inpu...
-
C言語について。
-
batプログラム上で文字列を入力...
-
*をユーザーが入力した数字の数...
-
cout関数を使っているのですが...
-
漢字のソートについて
-
数字以外が入力されたらエラー...
-
Userformの入力順序をタブオー...
-
ワードで文字を入力する時の変...
-
Linuxで入力待ちなしkeyread関...
-
java初心者です。入力されたの...
-
EDITコントロールで入力できる...
-
Eclipseコンソール表示を、リセ...
-
小数か整数かを判定する方法
-
C言語scanf_sで何故か2回入力に...
-
VB.NETで16進数+16進数や16進...
-
Linuxプログラミングで、キーボ...
おすすめ情報
返信ありがとうございます
はい、なにもしないので"。"や"1"があらわれます。
” main の返り値が void” ”int main()”でも実行したのですが結果は同じでした。
Ruby になっていたんですね! 初の質問だったのでよくわからなかったです
その指摘もありがとうございます
前回コンパイル時は"#define getchar( ) getc(stdin)"と書いてコンパイルしてい
たかもしれないです。
お世話になります。