- 締切済み
C言語
(a) キーボードから入力された文字列をそのままディスプレイに表示するプログラムを作成しなさい。 という問題 #include<stdio.h> main() { char word[1000]; /*文字型の変数の宣言*/ scanf("%s", word); /*キーボードから文字列を入力*/ printf("%s\n", word); /*入力した文字列を出力*/ } と作りましたがこれではコンソール中で文字を打ってからエンターを押さないといけないからといわれ再提出になってしまいました。 エンターを押さないでそのまま出力するということは、できるのでしょうか? あと自分の作ったプログラムではスペースや改行を使うことができないから使えるようにしろと言われてましたがそれわできますか? 変換仕様をかえればいいのですか ほかにもかえる所はありますか?
- みんなの回答 (7)
- 専門家の回答
みんなの回答
- tomo_ko_n
- ベストアンサー率0% (0/0)
include<stdio.h> int main() { char word[1000]; /*文字型の変数の宣言*/ scanf("%s",& word); /*キーボードから文字列を入力*/ return 0; } でどうでしょうか?
- ninetytwo
- ベストアンサー率0% (0/0)
getche()を使ってくださいね。 #include <conio.h> getche();
- notnot
- ベストアンサー率47% (4900/10358)
・enterを押さずに入力するのは、Linuxだとcurses/ncursesライブラリを使えば出来ますが、質問者さんの力では難しいでしょう。 ・他には、system() で、stty コマンドを起動して設定変更する方法もありますが、これも難しいでしょう。 ・scanfは初心者が絶対に使ってはいけない関数です。もし、「入力にはscanfを使う」と書いてある本を読んだのならその本は捨てましょう。おそらく他にも間違いがたくさんあるはず。 とりあえずは、getchar() と putchar() を使うプログラムを書いて、「自分のわかるのはここまでです」と言って提出するのがいいと思います。
- yaemon_2006
- ベストアンサー率22% (50/220)
処理系依存。 開発、実行環境を書くこと。
- asuncion
- ベストアンサー率33% (2127/6289)
> scanfを使わないと読み込みはできないのではないのですか 標準入力から読み取るときに使えるのは scanf() だけとは限りません。
- asuncion
- ベストアンサー率33% (2127/6289)
> こんな感じでしょうか? コンパイル~実行してみましたか? ちなみに、scanf()を使っている限り、 先生の要求には応えられないです。
- _himajin_
- ベストアンサー率65% (128/195)
# 課題と言うことなので一応ヒントだけにしときます。 1文字受け取ったら1文字出力するループを作れば良いと思いますよ。
補足
つまり%cにしてwhileを使えばいいのでしょうか? #include<stdio.h> main() { char word[1000]; while { scanf("%c", word); printf("%c\n", word); } } こんな感じでしょうか?
補足
すいません今家でコンパイラないのでコンパイルできないです。しかも学校はLinuxで家はwindowsなので... あとscanfを使わないと読み込みはできないのではないのですか?