1
void main(){
char tech[30][30],fname[50];
int tn,i=0;
FILE *fp;
printf("File name\n");
gets(fname);
printf("No of lines\n");
scanf("%d",&tn);
for(i=0;i<tn;i++){ //gets here will not take anything for the first line
printf("%d",i+1);
gets(tech[i]);
}
fp=fopen(strcat(fname,".txt"),"w");
for(i=0;i<tn;i++)
fprintf(fp,"%s\n",tech[i]);
fclose(fp);
}
工作在for
環路(在程序中提到的)gets()
不接受針對第一行的任何字符,它直接請求第二行輸入。爲什麼?得到未環
請避免'gets' ... – md5
因爲上面的'scanf'沒有消耗掉新的行字符 - 所以'gets'只會吃掉新行字符而不是下一行。 – nhahtdh