70,023
社区成员




func1()
{
int i=0;
for (i=0;i<10;i++)
{
func2(i,"aaaa");
}
}
int func2(int i,char *string)
{
char *strTemp=(char *)malloc(LEN)
memset(strTemp,0x00,sizeof(strTemp));
//programm to be added here
/*
** ?????
*/
}
func2中????处需要完成的功能如下:
当形参小于某个数字比如5时,会将传来的字符串链接一起赋给strTemp;
也就是说,strTemp将每次传来的字符串连接起来保存着的;
当形参为5时,就结束,返回最终得到的连接在一起的字符串。
想了好久没有得出答案,请高手指点一二,谢谢!!
f1()
{
for(int i=0;i<5;i++)
f2();
}
f2()
{
f3();
}
f3()
{
//根据f1中i的不同生成字符串str
f4(str);
}
f4()
{
...
f5(str);//最后通f5将产生的每个str发出去。
}
#include <stdio.h>
#include <string.h>
void cat( char* a, char *b, int c )
{
if( c < 5 )
strcat( a, b );
}
int main()
{
char *str[10] = { "aaa", "bbb", "ccc", "ddd", "eee", "fff" };
int i;
char text[100] = {0};
for( i = 0; i < 10; i++ )
{
cat( text, str[i], i );
}
printf( "text = %s\n", text );
}
char* func2(int i,char *string)
{
static char[100] strTemp={0};
if(i<5) strcat(strTemp,string);
return strTemp;
}