s_gets函数的应用:
#include<stdio.h>
#include<string.h>
char* s_get(char *, int );
int main()
{
char st1[2] ="s";
s_get(st1, 4);
printf("%s\n", st1);
return 0;
}
char* s_get(char* str, int n)
{
char* rel_val;
char * find;
rel_val = fgets(str, n, stdin);
printf("255\n");
if(rel_val){
find = strchr(str, '\n');
if(find)
*find = '\0';
else
while(getchar() != '\n')
{
printf("11\n");
continue;
}
}
printf("&&%d\n", 12);
return rel_val;
}
char st1[2] ="s";
s_get(st1, 4);
将换成:
char * st1 = "asga”;
则无法正常输出,所以认为s_get的char*参数要是数组的的地址,但char* st1 ="sgas";也是数组啊?