匿名質問者匿名質問者回答ポイント なしウォッチ

C言語についての質問です。

Mac,gccを使用しています。
入力された文字が数字ならint型に変更して表示、
文字ならchar型の変数に格納して表示(それ以外なら空白を表示)
するプログラムを作ったのですが、例えば123abcと入力すると、
123233abcと表示されてしまいます。(123abcと表示してほしいのですが...)
(ファイル名はtest14.c)
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main(){
char str[64] = {};
fgets(str,sizeof(str),stdin);
for(int i = 0;i < 64;i++){
if(isdigit(str[i])){
int num;
sscanf(&str[i],"%d",&num);
printf("%d",num);
} else if(isalpha(str[i])){
char moji = str[i];
printf("%c",moji);
} else if(str[i] == '\n') {
break;
} else {printf(" ");}
}
printf("\n");
return 0;
}

ログインして回答する

ベストアンサー

その他の回答

この質問へのコメント

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2020-04-07 10:06:26
終了日時
2020-04-07 16:17:05
回答条件
1人5回まで

この質問のカテゴリ

この質問に含まれるキーワード

gcc113Mac3287Char156

人気の質問

メニュー

PC版