在C中为两个不同的变量类型输入一次

时间:2014-02-09 04:51:06

标签: c variables pointers input casting

我希望用户输入一个数字(float),但我想将同时按下数组的字符串和实际数字存储到一个浮点数,而不是要求用户输入输入两次。

顺便说一句,如果字符串是“e”,你可以告诉我如何结束程序。

2 个答案:

答案 0 :(得分:2)

为了使其工作,您需要将字符序列读入字符串,然后自己解析字符串。您可以使用sscanfatof来执行此操作。

答案 1 :(得分:1)

您可以读取float变量,然后在字符串缓冲区中写入float值,如下所示:

float f = 0.0f;
char f_buf[100] = "";
scanf("%f", &f);
snprintf(f_buf, 100, "%f", f);  // write float value in a string 
//  Now print both 
printf("f_buf = %s, f = %f", f_buf, f);