c语言问题求助
#include<stdio.h>
#include<string.h>
#define MAX 1000
int substr ( char dst[], char src[], int start, int len );
int main()
{
int start, len, sum;
char src[MAX];
//char src[MAX] = "asdf";
char dst[MAX];
int ch;
int i = 0;
printf( "请输入start:" );
scanf( "%d", &start );
printf( "请输入len:" );
scanf( "%d", &len );
while( ( ch = getchar() ) != EOF )
{
src[i] = ch;
i++;
}
sum = substr( dst, src, start, len );
printf( "%s\n", src );
printf( "%s\n", dst );
printf( "%d", sum );
}
int substr( char dst[], char src[], int start, int len )
{
int i;
if( start >= strlen(src) && start < 0 && len < 0 )
dst == NULL;
for( i=0;i<len;i++ )
{
if( src[start] != '\n' )
dst[i] = src[start];
start++;
}
return strlen(dst);
}
如果先写
while( ( ch = getchar() ) != EOF )
{
src[i] = ch;
i++;
}
再写
printf( "请输入start:" );
scanf( "%d", &start );
printf( "请输入len:" );
scanf( "%d", &len );
为什么结果会不一样?