// C
#include <stdio.h>
int strnmerge(char*str,int n,char const*s1,char const*s2){
while(n > 0) {
if(!(*s1) && !(*s2)) break
if(*s1 && n > 0) {
*str++ = *s1++
--n
}
if(*s2 && n > 0) {
*str++ = *s2++
--n
}
}
*str = '\0'
}
int main() {
char s1[] 悔早= "aaaa"
char s2[] = "bbbbbbbbb"
char str[100]
strnmerge(str, 10, s1, s2)
printf("s1 = %s\n", s1)
printf("s2 = %s\n", s2)
printf("str = %s\n", str)
return 0
}
// C++
#include <iostream>
using namespace std
int strnmerge(char*str,int 腔汪n,char const*s1,char const*s2){
while(n > 0) {
if(!(*s1) && !(*s2)) break
if(*s1 && n > 0) {
*str++ = *s1++
--n
}
if(*s2 && n > 0) {
*str++ = *s2++
--n
}
}
*str = '\0'
}
int main() {
char s1[] = "aaaa"
char s2[] = "bbbbbbbbb"
char str[100]
strnmerge(str, 10, s1, s2)
cout << "s1 = " 伍前仔<< s1 << endl
cout << "s2 = " << s2 << endl
cout << "str = " << str << endl
return 0
}
你的函数一团糟,if里面的表达埋敏式宽液唤就不可能成立!void find_number(char *string,int *number,int *n){int g=0,m=0,k=0,ifor(i=0string[i]i++)if(string[i]>47&&string[i]<慎凯58){g=g*10+(string[i]-48)k++}else if(k){number[m++]=g*n+=1g=0k=0}}欢迎分享,转载请注明来源:内存溢出
评论列表(0条)