自己寫了個函式,關于讀取字串的,函式原型如下:
char * l_gets(char st[],int n)
{
char * ret_val;
int i=0;
ret_val = st;
while(i<n-1)
{
st[i]=getc(stdin);
i++;
}
if(st[i]=='\n')
st[i]='\0';
else
while(getchar()!='\n')
continue;
return ret_val;
}
經過編譯,用puts輸出,第n-1個字符之后出現亂碼。本意是想創建一個函式,函式讀取螢屏中的N個字符,并以字串形式儲存,不想用fgets,所以用了getc,但是輸出的時候總有問題,要不是亂碼,要不就是超過N的字符在快取區影響下一個函式。
求教大神,這是怎么回事呢?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/47593.html
標籤:基礎類
