主函數中輸入字符串"32486"和"12345",在主函數中輸出的函數值為44831。
#include <stdio.h> #include <string.h> #include <ctype.h> #define N 9 long ctod( char *s ) { long d=0; while(*s) if(isdigit( *s)) { // 此出的“isdigit”是“ctype”中的一個函數,用於檢查字符串中的字符是否為數字,若是返回1,不是則返回0 d=d*10+*s-'0'; // d用於存放字符串中的數字的和(c語言中用於存放和差的先將其置0,乘除的置為1) 因為d的取值是從字符串的高位開始,故每次計數都要×10,以調和位權 s++; // 可能會被寫成 *s++ } return d; }
long fun( char *a, char *b ) { return ctod(a)+ctod(b); a,b是數組名 } 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 ); do..while...句型不常用,do中存放任務,在while中存放條件的取反 printf("The result is: %ld\n", fun(s1,s2) ); }