###前提・実現したいこと
C言語の学習をしています。
半角スペース(' ')で区切られた4つの数字を入力し、
入力された数字を演算するプログラムを作りたいと考えています。
入力された文字列をそれぞれint型の配列に格納する方法をご教示いただけないでしょうか?
例 足し算
入力
1 2 34 5
出力
42
###発生している問題・エラーメッセージ
2次元配列に、一文字ずつ格納するところまではできたのですが、 そこからint型に変換することができません。
###該当のソースコード
char strt[100]; char *ptime=strt; i=0; int flag=0; char *strflag[4][10]; fgets(strt, sizeof(strt), stdin); //数字をすべてchar型で読み込みstrflagに一文字ずつ格納していっている。 while(*ptime){ //改行文字削除して文字列の最後にNULLを入れる if(*ptime=='\n'){ *ptime='\0'; }else if(*ptime==' '){ //ひとまとまりの数字を読み込むとflagをインクリメントすることで、flagと数字のまとまりを対応させる strflag[flag][i]='\0'; flag++; printf("\n"); }else{ strflag[flag][i]=*ptime; printf("%c",strflag[flag][i]); i++; } ptime++; }
###試したこと
char *p11;
i=0;
while(strflag[0][i]){ p11=&strflag[0][i]; //格納されているか確認 printf("\n%c",*p11); i++; p11++; } *p11='\0'; p11=p11-i+1; i=0; printf("%s",p11);
このようなコードでまず文字列を表示できるようにしようと思ったのですが、
それすらもできませんでした。
###補足情報(言語/FW/ツール等のバージョンなど)
二次元配列を使っていることが原因だとはおもったのですが、自分で調べても、空白をはさんだ文字列を数値化し、それぞれ配列に格納するということができませんでした。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/19 08:19
2016/12/19 11:34 編集
2016/12/19 13:16
2016/12/20 06:30