- ベストアンサー
困ってます!書き方がわかりません。
inputに名前を入れて、outputにそれを出すというシンプルなものですが、書き方がわかりません。名前をlast, first middleと入れて出力時に、first middle lastと出したいんです。この時最初に付いていたlastの後ろのコンマ","を消したいんです。参考書を片手にやっているんですが、どうもうまく動きません。どなたか教えてくださいよろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
他にもやり方はあるだろうけど、概ね、こんな感じ、もうちと、エラーチェックが必要だと思うけど。 #include <stdio.h> #include <string.h> #define BUFFSIZE 80 void main(void){ char name[BUFFSIZE]; char lastName[BUFFSIZE]; char firstName[BUFFSIZE]; char middleName[BUFFSIZE]; char *p; printf("input name (ex. last, first middle):"); fgets(name, BUFFSIZE, stdin); sscanf(name,"%s %s %s\n",lastName,firstName,middleName); p=strchr(lastName,','); /* カンマの検索 */ if(p!=NULL)*p='\0'; if(*middleName=='\0') printf("name:%s %s\n",firstName,lastName); else printf("name:%s %s %s\n",firstName,middleName,lastName); }
お礼
すばやいご返答ありがとうございます!とてもためになりました。これを参考に勉強させていただきます!