程序当中的t[j]=0是有什么用,为什么不加结果就出现乱码了
#include <stdio.h>#include <string.h>
void fun(char *s, char t[])
{
int i,j=0;
for(i=0;i<strlen(s);i++)
if(!((i%2)==0&&(s[i]%2==1)))
t[j++]=s[i];
t[j]=0;
}
void main()
{
char s[100], t[100];void NONO ();
printf("\nPlease enter string S:"); scanf("%s", s);
fun(s, t);
printf("\nThe result is: %s\n", t);
NONO();
}
void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
char s[100], t[100] ;
FILE *rf, *wf ;
int i ;
rf = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
fscanf(rf, "%s", s) ;
fun(s, t) ;
fprintf(wf, "%s\n", t) ;
}
fclose(rf) ;
fclose(wf) ;
}