- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:なぜかうまく表示されません(原因不明で困ってます)。)
うまく表示されない原因不明のプログラム
このQ&Aのポイント
- キーを入力するとその入力された文字を表示する、単純なプログラムがうまく表示されない原因を教えてください。
- プログラムには「int t;」という変数がありますが、この変数を取ると表示される文字に余計なものがくっついてきてしまいます。
- プログラムを解読しましたが、どこで「t」を使っているのかわかりません。原因を教えていただけないでしょうか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
単純にNULLコードの問題では? (%sはNULLコードまでを表示する) int tはメモリ上、char i[41]になって、'\0'が入ったからでしょう 以下のソースで試してください。 ----------------------- include <stdio.h> #include <string.h> #include <conio.h> int main(void) { char i[40]; memset (&i[0],'\0',40) while(1) { i[0]=getch(); if(strcmp(i,"q")==0 || strcmp(i,"Q")==0) break; printf("%s ",i); } return 0; }
お礼
できました! ありがとうございました^^ memsetだなんて・・・。 今まで一度も使ったこと無かったです・・・。 本当に助かりました。 今からmemsetの勉強をします^^