匿名質問者

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;
}

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2020/04/14 10:10:06

回答1件)

匿名回答2号 No.1

このチュートリアルでは、Arduino UNOを初心者向けに学習します。この投稿では、Arduino UNOマイクロコントローラー開発ボードを紹介します。 Arduinoのベースとなっているマイクロコントローラーチップと、Arduino開発のピン配置について説明します。また、ADC、内部EEPROM、プロセッサなど、Arduinoに基づく組み込みシステムを設計する際に考慮すべき重要な仕様のいくつかについても説明します。

  • 匿名回答1号
    匿名回答1号 2020/04/07 17:41:31
    数字のときにアスキーコードが吐き出されているだけではないか?

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

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません