好きなおでんの具材ドラフト会議しましょう

C言語について
コマンドラインで
>変数 12.00 (char型)
と、小数点付きの値を共用体に渡して共用体の中のfloat型変数に代入したいです。
union EX{
float f;
char *p[1];
}e;

e = argv[1];
//e.f = argv[1] ;

こういう風にコードを書いて実行したんですが、char型としか扱ってくれません。
コマンドラインで小数点を入力すると、
0.0000となります。
解決方法があれば教えて欲しいです。

A 回答 (1件)

argv[1] は char[] なので、float には代入できません。


(数字でないなどの)エラーチェックを省略すると、

#include <stdlib.h>
~~~
e.f = atof(argv[1]);
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報