【问题标题】:Input once for two different variable types in C在 C 中为两种不同的变量类型输入一次
【发布时间】:2014-02-09 04:51:06
【问题描述】:
我希望用户输入一个数字 (float),但我想将按下到数组的字符串和实际数字同时存储到浮点数,而不要求用户输入两次.
顺便问一下,如果字符串是“e”,请告诉我如何结束程序。
【问题讨论】:
标签:
c
variables
pointers
input
casting
【解决方案1】:
为了使它工作,您需要将字符序列读入字符串,然后自己解析字符串。您可以使用sscanf 或atof 进行操作。
【解决方案2】:
您可以读取浮点变量,然后将浮点值写入字符串缓冲区,如下所示:
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);