c语言怎么把负号字符转化为数字负号?
#include#include
long fun(char *p){
// 判断是否有负号
int flag=0;
long sum=0;
if(*p=='-'){
flag=1;
p++;
}
while(*p){
sum=sum*10+(*p-48);
p++;
}
if(flag){
sum=-1*sum;
}
return sum;
}
int main()
{
char s[6];
long n;
// 输入字符串
printf("Enter a string:\n");
gets(s);
n=fun(s);
printf("%转换后的数字为:ld\n",n);
return 0;
}