主板|C语言-字符串变数字

主板|C语言-字符串变数字


①目标
输入两个字符串
分别转换成面值相同的整数
并相加

②命令行
#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 *achar *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:%1d\:\"fun(s1s2));
/*输出s1与s2转化为数字之后的和*/
【主板|C语言-字符串变数字】