入力された文字列が全て数字ならば,その数を2倍した数値を表示するという
入力された文字列が全て数字ならば,その数を2倍した数値を表示するという プログラムを作成しているのですが実行しようとするとコアダンプが発生してしまいうまくできません。このプログラムのどこを直したらよろしいですか? よろしくお願いします。 #include <stdio.h> #include <string.h> #include <ctype.h> #include <stdlib.h> int main(void) { char a[100] ; int b; printf("文字列を入力してください :\n" ); scanf ("%c",&a[100]); isdigit(a); if (isdigit(a)==0){ printf("数値ではありません。"); } else if (isdigit(a)==1){ b=atoi(a); b=b*2; printf("2倍すると%dです。", b ); } return 0 }
ベストアンサー
char a[100] ; a[0]〜a[99] の100個の領域を確保 scanf ("%c",&a[100]); a[100] 101個目 &a[100] 101個目の場所を指定 確保していない場所にscanfでデータを書き込んだので、落ちています。
2人がナイス!しています
質問者からのお礼コメント
ありがとうございます。 助かりました。
お礼日時:5/24 16:48