ユーザーからの 1 つの入力を 2 つの異なるポインターに割り当てたい (float と char の両方として読み取りたい)。これを行う方法や、あるものから別のものに変換する簡単な方法についてのアイデアはありますか?
質問する
110 次
2 に答える
1
char inputString[MAX_SIZE]; // Your input will be stored here as a string.
float inputFloat; // Here's where you will have your input as float
float *inputFloatPointer;
inputFloatPointer = &inputFloat; // Do this if you want 2 pointers, as requested
fgets(inputString, MAX_SIZE, stdin); // Read from your input buffer
if ((sscanf(inputString, "%f", inputFloatPointer)) == 1) // Try to parse it as a float
printf("You read a float.\n"); // If the parsing succeeds, you have your float
else
printf("This is no float.\n"); // Else the user typed something that's not a float.
于 2013-11-05T19:42:54.880 に答える
0
char には float ではなく整数表現があります。float を char 表現に変更してから、それを char にキャストする必要があります。
于 2013-11-05T19:42:53.217 に答える