這個問題你可以寫兩個小函數(shù)來實現(xiàn) , 一個是atoi()函數(shù),就是把字符串轉(zhuǎn)化成int型,另一個是itoa(),就是把int型的數(shù)字轉(zhuǎn)化成字符串。剛開始時用atoi()把str1,str2轉(zhuǎn)化成整形數(shù),然后相加,再把相加后的結(jié)果用itoa()函數(shù)轉(zhuǎn)化成字符串,再賦值給result。這是個思路,那兩個函數(shù)也不太難,自己嘗試實現(xiàn)一下。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了武城免費建站歡迎大家使用!
:字符串拼接函數(shù) char *strcat(char *destin, char *source);程序例:#include string.h
#include stdio.hvoid main()
{
char destination[25];
char *blank = " ", *c = "C++", *Borland = "Borland";
strcpy(destination, Borland);
strcat(destination, blank);
strcat(destination, c);
printf("%s\n", destination);
}
代碼如下:
#include stdio.h
#include string.h
#include stdlib.h
int main()
{
char str[100];
char buf[10];
int i;
int n = 0;
bool flag = 0;
int j = 0;
//gets(str);
scanf("%s", str);
for (i = 0; i != strlen(str); ++ i)
{
if (str[i] = '0' str[i] = '9')
{
? ?buf[j] = str[i];
? ?j++;
? ?flag = 1;
}
else if (flag)
{
? ?n += atoi(buf);
? ?memset(buf,0,10);//清空緩存區(qū)
? ?flag = 0;
? ?j = 0;
}
}
printf("%s",buf);
printf("%d\n", n);
}
擴展資料
(C語言)常見字符函數(shù)和字符串函數(shù)
1、strlen
功能:計算字符串長度,不包含’\0’
返回值:返回字符串的字符數(shù)
說明:strlen() 函數(shù)計算的是字符串的實際長度,遇到第一個’\0’結(jié)束;參數(shù)指向的字符串必須以 ’ \0 ‘結(jié)束。函數(shù)返回值一定是size_t ,是無符號的。如果你只定義沒有給它賦初值,這個結(jié)果是不定的,它會從首地址一直找下去,直到遇到’\0’停止。
sizeof返回的是變量聲明后所占的內(nèi)存數(shù),不是實際長度,此外sizeof不是函數(shù),僅僅是一個操作符,strlen()是函數(shù)。
2、strcpy
功 能: 將參數(shù)src字符串拷貝至參數(shù)dest所指的地址
返回值: 返回參數(shù)dest的字符串起始地址
說明:源字符串必須以’\0’結(jié)束。會將源字符串的’\0’拷貝到目標(biāo)空間。目標(biāo)空間必須可變。如果參數(shù)dest所指的內(nèi)存空間不夠大,可能會造成緩沖溢出的錯誤情況,在編寫程序時需特別留意,或者用strncpy()來取代。