急!一道简单的二级c语言编程题!帮忙看看错哪里了?

请编写一个函数fun,它的功能是将一个数字字符串转换为一个整数(不得调用c语言提供的将字符串转换为整数的函数)。例如:若输入字符串“-1234”,则函数把它转换为整数值-... 请编写一个函数fun,它的功能是将一个数字字符串转换为一个整数(不得调用c语言提供的将字符串转换为整数的函数)。
例如:若输入字符串“-1234”,则函数把它转换为整数值-1234。
下面是我编的:

#include "stdio.h"
#include "string.h"
long fun(char *p)
{
char *a=p;
int num=0,t;
a++;
while(*a)
{
t=*a-'0';
num=num*10+t;
a++;
}
a=p;
if(*a='-') num=-num;
return num;

}
main()
{
char s[6];
long n;
printf("enter a string:\n");
gets(s);
n=fun(s);
printf("%ld\n",n);
}

问题:为什么输入+1234,输出仍为-1234?
主要看fun()就可以了!
展开
 我来答
_cf03
2012-02-10 · TA获得超过191个赞
知道小有建树答主
回答量:276
采纳率:0%
帮助的人:120万
展开全部
这个程序我看不懂,感觉思路有问题吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lency_cn
2012-02-10 · TA获得超过287个赞
知道答主
回答量:229
采纳率:100%
帮助的人:168万
展开全部
if(*a='-') 改为if(*a=='-')
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式