Scanf将一个变量分配给C中的两个指针
我想把一个用户的输入分配给两个不同的指针(我想把它读成浮点和字符)。有没有人知道如何实现这一点,或者有没有一种简单的方法可以从一个字符转换到另一个字符?字符有整数表示,而不是浮点数。您必须将浮点修改为字符表示,然后将其转换为字符。您尝试了什么?提示:扫描一个,转换为另一个。所谓“字符”,是指8位整数(字节)、字符串还是单字符代码(ASCII码或类似代码)?这个答案是对upvote的一些解释。一两条简短的代码注释也不会有什么坏处。Scanf将一个变量分配给C中的两个指针,c,pointers,scanf,C,Pointers,Scanf,我想把一个用户的输入分配给两个不同的指针(我想把它读成浮点和字符)。有没有人知道如何实现这一点,或者有没有一种简单的方法可以从一个字符转换到另一个字符?字符有整数表示,而不是浮点数。您必须将浮点修改为字符表示,然后将其转换为字符。您尝试了什么?提示:扫描一个,转换为另一个。所谓“字符”,是指8位整数(字节)、字符串还是单字符代码(ASCII码或类似代码)?这个答案是对upvote的一些解释。一两条简短的代码注释也不会有什么坏处。 char inputString[MAX_SIZE]; // Yo
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.