请问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的作用是保证变量只在文件内可见
仅此而已
所以对结果没有影响
[解决办法]