读书人

结果出现一部分乱码

发布时间: 2013-03-27 11:22:42 作者: rapoo

结果出现部分乱码

#include<stdio.h>
char *getnch(char *ch,int n)
{
int i;
for(i=0;i<n;i--)
{
ch[i]=getchar();
if(*ch=(' '||'\0'||'\n'||NULL||EOF))
return ch;
else
return ch;
}
}
void main()
{
char *nch,str[10];
nch=getnch(str,10);
if(nch=NULL)
puts("input failed!");
else
puts(str);
puts("done\n");
}



用vs2010的,出现这样的结果

求解
[解决办法]
注意“=”和“==”完全不同
[解决办法]
#include<stdio.h>
char *getnch(char *ch,int n)
{
size_t r = fread(ch, 1, n-1, stdin);
if(r)
{
ch[r] = '\0';
return ch;
}
return NULL;
}
int main()
{
char *nch,str[10];
nch=getnch(str,10);
if(nch == NULL)
puts("input failed!");
else
puts(str);
puts("done\n");
return 0;
}

读书人网 >C++

热点推荐