问一道简单的c语言问题

来源:百度知道 编辑:UC知道 时间:2024/07/05 05:23:14
我买了本书,里面有一道c语言题,将输入的字符串颠倒顺序输出,答案如下。我不太明白以下几点1.为什么没有加头文件<string.h>,我觉得strrev这种函数应该是需要的吧,2.关于fun,这是一个函数么,为什么既没有函数的声明,也不返回值呢。谢谢了
#include <stdio.h>
#define N 81
fun ( char *s )
{
strrev(s);
}
main( )
{ char a[N];
printf ( "Enter a string : " ); gets ( a );
printf ( "The original string is : " ); puts( a );
fun ( a );
printf("\n");
printf ( "The string after modified : ");
puts ( a );
}

1.strrev函数不属于string库
2.fun()函数的参数类型为指针型,当fun(a)时,就进行strrev(s)运算,得到新的字符串,并存放在a[]这个地址中(因为你用的是指针),由于没有返回值,函数到此就结束;然后进行puts(a)操作,输出a[]。
你好像指针没搞懂,建议去看一看。
这里最好写成 void fun(char* s);