连心 发表于 2016-6-30 05:36:11

这里貌似是字符串转化为浮点数失败了,可以帮我看看嘛,谢谢了!

#include<stdio.h>
#include<string.h>
main()
{
int i=0,j;
char s;
float sum=0,temp=0;
printf("请输入表达式:");
gets(s);
do
{

switch(s)
{   
    case '+':temp=(float)(s+s-96);

wstxh 发表于 2016-6-30 09:59:38

建议用函数处理
atof(将字符串转换成浮点型数)
atoi(将字符串转换成整型数)
atol(将字符串转换成长整型数)
strtod(将字符串转换成浮点数)
strtol(将字符串转换成长整型数)
strtoul(将字符串转换成无符号长整型数)
toascii(将整型数转换成合法的ASCII 码字符)
toupper(将小写字母转换成大写字母)
tolower(将大写字母转换成小写字母)
再另外处理+ -。

wstxh 发表于 2016-6-30 10:01:23

float sum=0,temp=0;定义这个有问题吧,应该是0.0吧

小剑剑 发表于 2016-7-1 21:41:43

代码可以发完整的吗?

无符号整形 发表于 2016-7-2 09:51:47

atof好用很多。。。
temp=atof(s);
不就行了么。。。
页: [1]
查看完整版本: 这里貌似是字符串转化为浮点数失败了,可以帮我看看嘛,谢谢了!