【发布时间】:2015-02-22 18:02:02
【问题描述】:
如何创建一个记住其返回结果的函数?
例如:
char * foo(char * str1, char * str2){
...
return bar;
}
int main(){
...
foo(a,b); //returns a string
foo(NULL,c);//will use the returned above string in the NULL parameter
}
这类似于strtok 的工作方式。
我想全局变量可以工作,但据我所知这不是好的做法,还有其他方法吗? strtok 是否与全局变量一起使用?
【问题讨论】:
-
为什么不捕获返回并在第二次调用中将其传递给函数?
-
strtok()通常使用static变量实现,这与全局变量一样糟糕。 -
像
foo(foo(a,b),c);一样称呼它 -
@SMA 如果我想让它循环工作怎么办?
-
以问题的形式回答:What does “static” mean in a C program?.