我需要从一个float数字中计算数字并保留该数字。我可以使用scanf()with %for%c但不是%s,我可以使用getchar().
我可以使用 getchar 但我会丢失号码。
我需要从一个float数字中计算数字并保留该数字。我可以使用scanf()with %for%c但不是%s,我可以使用getchar().
我可以使用 getchar 但我会丢失号码。
为什么你会丢失号码getchar?
strtod确保它是有效的浮点值如果您仅限于getchar:
getchar正如我所见,您得到了答案,但这也适用于您吗?
#include <stdio.h>
int main()
{
char *str = new char[30];
float flt;
int count = 0;
scanf( "%f", &flt);
printf( "number you entered is: %f\n", flt);
sprintf(str, "%f", flt );
for( ;str[count] != '\0'; count++ );
printf( "%f have %d digits", flt, count-1);
return 0;
}