函数定义疑惑
char *strcat(char *destin, char *source)中函数的返回值是一个字符指针,可在实际使用中一般都是strcat(x,y),并没有提到返回值,那么这个字符指针的存在意义在哪里?
[解决办法]
wit2188() ( ) 信誉:100 2007-09-26 22:45:17 得分: 0
如果调用后并没有用到函数的返回值,那么这个返回值跑哪去了?还有,在strcat函数的定义中,是否要有return destin;这条语句?
----------------------------
函数返回的是个字符串的入口指针,这个指针是随着函数的调用而产生的,一般函数如果有返回值,会在栈区开辟一个空间先将返回值空间预留出来,然后再将参数压入等,等返回时就返回这个指针,如果没有用到这个函数返回值,这个值还是瞬间存在,但是函数调用结束后,随着栈的收回,其值就会被其他函数或者程序占用而修改,这是不确定的。
对于strcat函数的定义
不管怎么样,其最后肯定有句return destin;
或者不是直接用destin,可能其他变量,但是指向destin