读书人

请教static 数组做函数参数

发布时间: 2012-05-07 12:40:40 作者: rapoo

请问static 数组做函数参数!
将一个字符串中的某个指定的字符删去

请问以下主程序中 字符数组 str必须定义为 static 吗?
不加static 结果也是对的。
file1.c(文件1)
main( )
{extern enter_string( );
extern delete_string ( );
extern print_string( );
char c;
static char str[80];
enter_string(str);
scanf(“%c”,&c);
delete_string(str,c);
print_string(str);}

file2.c(文件2)
#include ”stdio.h”
extern enter_string(str)
char str[80];
{gets (str);}

file3.c(文件3)
extern delete_string(str,ch)
char str[ ],ch;
{int i,j;
for(i=j=0;str[i]!=’\0’;i++)
if(str[i]!=ch)
str[j++]=str[i];
str[j]=’\0’;

file4.c(文件4)
extern print_string(char str[ ])
{ printf(“%s”,str);
}




[解决办法]
由于你分了四个文件
static的作用是保证变量只在文件内可见
仅此而已
所以对结果没有影响
[解决办法]

探讨
不加static也只是在main()中可见呀。加上static 生存期不同。对吗

读书人网 >VC/MFC

热点推荐