• ベストアンサー

困ってます!書き方がわかりません。

inputに名前を入れて、outputにそれを出すというシンプルなものですが、書き方がわかりません。名前をlast, first middleと入れて出力時に、first middle lastと出したいんです。この時最初に付いていたlastの後ろのコンマ","を消したいんです。参考書を片手にやっているんですが、どうもうまく動きません。どなたか教えてくださいよろしくお願いします。 

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.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); }

DIY1
質問者

お礼

すばやいご返答ありがとうございます!とてもためになりました。これを参考に勉強させていただきます!

関連するQ&A