#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define N 9
long ctod( char *s )
{ long d=0;
while(s)
if(isdigit( s)) { //这里为什么要写s
/found/
d=d10+*s-'0'; //这里为什么要减去‘0’
/found/
s++;
}
return d;
}
long fun( char a, char b )
{
/found/
return ctod(a)+ctod(b); //这又为什么不写a,b
}
void main()
{ char s1[N],s2[N];
do
{ printf("Input string s1 : "); gets(s1); }
while( strlen(s1)>N );
do
{ printf("Input string s2 : "); gets(s2); }
while( strlen(s2)>N );
printf("The result is: %ld\n", fun(s1,s2) );
}
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define N 9
long ctod( char *s )
{
long d=0;
while(s)
if(isdigit(s)) { //这里为什么要写s ,这里的isdigit函数是判断s是不是数字字符,s就是当前正在操作的字符
/found/
d = d10 + *s - '0'; //这里为什么要减去‘0’ ,减'0'是为了把数字字符转换为对应的数值
/found/
s++;
}
return d;
}
long fun( char a, char b )
{
/found/
return ctod(a)+ctod(b); //这又为什么不写a,b ,因为ctod( char *s )函数只有一个参数s所以只能放一个参数在里面
}
void main()
{
char s1[N],s2[N];
do
{
printf("Input string s1 : "); gets(s1); }
while( strlen(s1)>N );
do
{
printf("Input string s2 : "); gets(s2); }
while( strlen(s2)>N );
printf("The result is: %ld\n", fun(s1,s2) );
}