新手起步,诚心问关于这个代码的问题
程序代码:#include<stdio.h>
#include<stdlib.h>
#define MAXLINE 1000
int getline(char line[],int maxline);
void copy(char to[],char from[]);
int 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;(c=getchar())!=EOF&&i<lim-1&&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;
}这是书上K&R中文版书上的第21页的一个例题,我打出来在vs2010里面试着编译运行。
问题:
编译运行之后又出现黑框“一闪而过”。而我以前都是编的一些简单的程序,没有涉及到函数,一般都放main函数末尾就行了。所以这里的“system("pause");”不知道该放在哪里才能避免“一闪而过”现象。试过了也放在main函数的末尾,结果无效。求高手指教这种有函数的程序的“system("pause");”该放哪里?
[ 本帖最后由 huili46 于 2012-7-2 16:36 编辑 ]









