为什么调试时根本没有任何输出?
我调试的时候没有任何输出(弹窗是空的)……不知道是为什么程序目的:把字符串(小数)转化成浮点数#include<stdlib.h>
#include<stdio.h>
float str_transfer_float(char str[]);
int main()
{
char str= "31.5";
float a;
a = str_transfer_float(str);
printf("%f",a);
while(1);
}
float str_transfer_float(char str[])//字符串实例:31.5【小数点前一两位数;小数点后一位数】
{
int i=0, digit;
float trans;
while(str != '.')
{
digit=str-'0'; //一个一个位数转
if (i=0)
{
trans = digit;
}
else
{
trans = trans * 10 + digit;
}
i++;
}
digit=str;
trans = trans + digit*0.1;
printf("%d %d %c %d",digit,digit,digit,digit);
return trans;
}
卤煮,首先提醒你,你那不叫调试··· 调试的话,早就找到错误了。
广告时间(如果单步调试你会了,就可以路过):http://bbs.fishc.com/thread-71753-1-1.html
这次犯错之后就要记住了!
if (i = 0) // 你这样,i一直先赋值0,然后自增,第二次又赋值0,自增。。。
if (0 == i) // 这样不好吗?希望养成常量在前边的习惯,错误了也容易发现
还有,你的digit = str; 这一步,不是很合适吧?
既然你前边都 - '0'了,这里也是需要的啊。
有啥疑问,先试试再讨论。
页:
[1]