求大神给我编的C语言程序改错
程序要实现将一个整数字符串转换为一个数,如字符串”3678“转换为数字3678.请大神看看一下源代码哪里有错#include<stdio.h>#include<strin...
程序要实现将一个整数字符串转换为一个数,如字符串”3678“转换为数字3678.
请大神看看一下源代码哪里有错
#include<stdio.h>
#include<string.h>
chnum(char *p);
void main()
{char str[6];
int n;
gets(str);
if(*str=='-')n=-chnum(str+1);
else n=chnum(str);
printf("%d\n",n);
}
chnum(char *p)
{
int num=0,k,len,j;
len=strlen(p);
for(;*p!='\0';p++)
{k=*p-'0';
j=(--len);
while(j-->0){k=k*10;}
num=num+k;
}
return(num);
} 展开
请大神看看一下源代码哪里有错
#include<stdio.h>
#include<string.h>
chnum(char *p);
void main()
{char str[6];
int n;
gets(str);
if(*str=='-')n=-chnum(str+1);
else n=chnum(str);
printf("%d\n",n);
}
chnum(char *p)
{
int num=0,k,len,j;
len=strlen(p);
for(;*p!='\0';p++)
{k=*p-'0';
j=(--len);
while(j-->0){k=k*10;}
num=num+k;
}
return(num);
} 展开
2个回答
展开全部
函数声明没有返回值类型 应该是int num(char ×p)下面的函数实现也没加,加上就能运行了
#include<stdio.h>
#include<string.h>
int chnum(char *p);
int main()
{
char str[6];
int n;
gets(str);
if(*str=='-')
n=-chnum(str+1);
else n=chnum(str);
printf("%d\n",n);
return 0;
}
int chnum(char *p)
{
int num=0,k,len,j;
len=strlen(p);
for(;*p!='\0';p++)
{k=*p-'0';
j=(--len);
while(j-->0){k=k*10;}
num=num+k;
}
return(num);
}
说实话没看懂你的程序,为什么if(*str=='-') n=-chnum(str+1); else n=chnum(str); 不懂
#include<stdio.h>
#include<string.h>
int chnum(char *p);
int main()
{
char str[6];
int n;
gets(str);
if(*str=='-')
n=-chnum(str+1);
else n=chnum(str);
printf("%d\n",n);
return 0;
}
int chnum(char *p)
{
int num=0,k,len,j;
len=strlen(p);
for(;*p!='\0';p++)
{k=*p-'0';
j=(--len);
while(j-->0){k=k*10;}
num=num+k;
}
return(num);
}
说实话没看懂你的程序,为什么if(*str=='-') n=-chnum(str+1); else n=chnum(str); 不懂
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-04
展开全部
//将一个整数字符串转换成一个整数
#include <stdio.h>
#include"math.h"
#define N 4
main()
{
int i,sum=0,b,c;
char a[N];
for(i=N-1;i>=0;i--) a[i]=getchar();
for(i=0;i<N;i++)
{
c=a[i]-48;
b=(int)pow(10,i);
sum=sum+b*c;
}
printf("%d\n",sum);
}
方法二:
#include <stdlib.h>
#include <stdio.h>
main()
{
char string[10],*endptr;
int lnumber;
gets(string);
lnumber=strtol(string, &endptr, 10);
printf("long=%d\n",lnumber);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询