• ベストアンサー

文字列をint型へ変換するには?

c言語初心者です。 こちらのプログラムだとうまく表示されません何故でしょう? わかる方是非教えていただきたいと思います。 #include<stdio.h> #include <stdlib.h> int main() { int  num ;     char sum1[4]; printf("数字 str1 =>"); scanf("%d",&num); num= atoi(sum11); printf("sum1= [%d]\n",num); } コマンドに数字を入力したあとintに変換してnumに表示させたいのですが、、、、

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

  • ベストアンサー
  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

>scanf("%d",&num); これで、入力したデータは10進数としてnumに格納されてますけど。 >num= atoi(sum11); この行を消してみてください。

armpoint
質問者

補足

ありがとうございました。 すんなりできました。

その他の回答 (1)

回答No.2

提示のソースではコンパイルエラーになります。 ソースは動作するものをそのままコピーしてください。 ソースのそれそれの行は何を行っているか理解していますか? >printf("数字 str1 =>"); 「str1 =>」を表示 >scanf("%d",&num); キーボードで入力した値を「10進数の数値」として「num」に格納 >num= atoi(sum11); sum[]に格納されている「文字列(数字)」を「数値」に変換して「num」に格納。 (定義が「char sum1[4];」なので、コンパイルが通らない) >printf("sum1= [%d]\n",num); 「num」の内容を「10進数の数値」として表示。

armpoint
質問者

お礼

ありがとうございます。 たいへん参考になりました。

関連するQ&A