#include <stdio.h>
#include <string.h>
void f(char *s1){
char c;
if(*s1 !='\0'){
c = *s1;
strcpy(s1, s1 + 1);
f(s1);
putchar(c);
}
}
int main(){
f("happy!");
}
"happy!"是个常量字符串,f函数中不能修改字符串内容
我感觉在函数传参的时候就出问题了,就算混过去了,也不规范。常亮字符串的指针是指向常量的指针,函数参数是指向变量的指针,这两个玩意不能互相赋值的,只能后者付给前者