0

ユーザーからの 1 つの入力を 2 つの異なるポインターに割り当てたい (float と char の両方として読み取りたい)。これを行う方法や、あるものから別のものに変換する簡単な方法についてのアイデアはありますか?

4

2 に答える 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 に答える