uj5u.com熱心網友回復:
應該是字串沒有結束符'\0'。建議查一下是否在有效字串后加沒加'\0'。
另外,也建議把代碼發出來。
uj5u.com熱心網友回復:
代碼寫錯 就是這么回事你這樣問 別人只能這樣答
uj5u.com熱心網友回復:
大概是因為 陣列什么的 的記憶體 沒分配 即 沒初始化吧uj5u.com熱心網友回復:
這是代碼#include<stdio.h>
#define MAXLINE 1000
int getline(char line[],int maxline);
void copy(char to[],char from[]);
main()
{
int len;
int max;
char line[MAXLINE];
char longest[MAXLINE];
max=0;
while((len=getline(line,MAXLINE))>0)
if(len>max){
max=len;
copy(longest,line);
}
if(max>0)
printf("%s",longest);
return 0;
}
int getline(char s[],int lim)
{
int c,i;
for(i=0;i<lim-1 && (c=getchar()) != EOF && c!='\n';++i)
s[i]=c;
if(c=='\n'){
s[i]=c;
++i;
}
s[i]='\0';
return i;
}
void copy(char to[],char from[])
{
int i;
i=0;
while((to[i]=from[i] !='\0'))
++i;
}
uj5u.com熱心網友回復:
我找到問題了 是代碼while((to[i]=from[i] !='\0'))這里打錯了括號 應該是while((to[i]=from[i]) !='\0')
你們能告訴我么 為啥 我這里打錯了 按照賦值運算 應該是直接結束 怎么會出現小方框呢??
uj5u.com熱心網友回復:
那就是to陣列里沒有'\0',所以出現這樣的問題
uj5u.com熱心網友回復:
每次都把0,1的值賦值給to[i]uj5u.com熱心網友回復:
你看看是不是記憶體溢位了轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/266793.html
標籤:C語言
上一篇:【C語言求助】
下一篇:新人求助
