简单的C语言如程序,想要把文件指
回答LZ的问题:
以该程序为例,函数fun 的返回类型说明符为 void,表示它的返回为“空类型”,也就是无返回值的意思。
而且该函数也没有形参,因为fun(),括号里为空,没有参数。 文件的打开方式与函数的形参或实参没有直接关系。 实参是实际调用时的参数,形参是接受实参值的形式参数,是根据函数设计的需求来定的。
在本例中,如果将文件打开方式改为"r"读文件,那么需要修改该函数体,将文件内容显示出来,而不能使用fputc这样的写文件函数了。
下面的注释,仅供参考:
#include //包含头文件
void fun() //函数头,void 表示无返回值 没有形参
{
FILE...全部
回答LZ的问题:
以该程序为例,函数fun 的返回类型说明符为 void,表示它的返回为“空类型”,也就是无返回值的意思。
而且该函数也没有形参,因为fun(),括号里为空,没有参数。
文件的打开方式与函数的形参或实参没有直接关系。 实参是实际调用时的参数,形参是接受实参值的形式参数,是根据函数设计的需求来定的。
在本例中,如果将文件打开方式改为"r"读文件,那么需要修改该函数体,将文件内容显示出来,而不能使用fputc这样的写文件函数了。
下面的注释,仅供参考:
#include //包含头文件
void fun() //函数头,void 表示无返回值 没有形参
{
FILE *f; //定义文件指针
char ch='a'; //定义char型变量ch,初始值为'a'
if ((f=fopen("c:\\aa。
dat","w"))==NULL) //用fopen函数打开C根目录下的aa。dat文件,以"w"写方式,并且让f文件指针指向该文件,如果fopen函数返回值等于NULL,则提示并结束程序。
{
printf("File Can't be find!\n"); //提示文件打开失败
}
else //文件打开成功
{
while (ch!='\n') //while循环,循环终止条件是当ch变量等于'\n'时
{
ch=getchar(); //得到键盘输入的字符
fputc(ch,f); //将字符写入f指针所指向的文件
}
}
fclose(f); //结束循环,关闭文件
}
void main() //主函数
{
int a=0; //定义int型变量a,初始化为0值
printf("请输入:\n"); //提示输入信息
scanf("%d",&a); //从键盘输入,赋值给a变量
switch(a) //多路分支判断
{
case 1:printf("OK\n"); break; //如果输入1,打印OK后退出
case 2: fun(); break; //如果输入2,调用fun函数后退出
}
}
PS:
在键盘输入2,程序调用fun函数,是由switch多路判断语句来控制实现的。
至于 fun 函数的返回值和形参类型写什么,与是否调用函数fun没有关系。
至于函数要不要返回值,看实际问题的需要了,如果需要在主调函数中处理或显示函数处理的结果,那么就需要设置恰当的返回值类型。
至于形参,则要看设计函数的实际需求。
建议LZ,参阅相关资料关于 switch 语句的使用方法,及有函数返回值及形参的具体例子。
现在的程序代码,在运行时,输入2,就已经调用fun函数了,没有问题。
只是代码控制逻辑上有点问题。输入2之后不能回车,否则就退出了。应该输入2之后,接着输入其它字符。回车结束,生成aa。dat文件!。收起