??
①目标
输入两个字符串
分别转换成面值相同的整数
并相加
~
②命令行
#include< stdio.h>
/*调用输入输出函数的头文件*/
#include< string.h>
/*调用字符串函数的头文件*/
#include< ctype.h>
/*调用字符函数的头文件*/
#define N 9
/*宏定义字符串最长为9*/
~
③定义函数
long ctod(char *s)
/*c即char,d即dig,即字符to数字*/
{long d=0;
while(*s)
/*用while循环遍历字符串中的每一个字符*/
if(isdigit(*s))
/*isdigit是字符函数,检查字符是否为数字字符, is it dig?*/
{d=d*10 *s-‘0’;s ;}
/*指针s指向的字符的ASCLL码,与字符0的ASCLL码之差,将当前字符转化为数字。已经转化为数字的乘10进位*/
return d;
}
long fun(char *a,char *b)
{return ctod(a) ctod(b);}
/*将两个已经转化为数字的字符相加*/
~
④主函数(调用)
viod main()
{char s1[N],s2[N];
do{printf(“input string s1:”);gets(s1);)}
while(strlen(s1)>N);
/*输出字符s1,长度不超过9*/
do{printf(“input string s2:”);gets(s2);)}
while(strlen(s2)>N);
/*输出字符s2,长度不超过9*/
printf(“the result is:\n:”,fun(s1,s2));
/*输出s1与s2转化为数字之后的和*/
}