当我运行此代码并输入字符串时,它会跳过对gets
的调用,而无需编写任何内容。
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <string.h>
void disegnaMenu(){
printf("*****************************************\n");
printf("* ____ _ *\n");
printf("* | \ ___ ___ _ _ ___ | |____ ___ *\n");
printf("* | | | -_| _| | | . | | -_| _| *\n");
printf("* |____/|___|___|_ | _|_|_|___|_| *\n");
printf("* |___|_| *\n");
printf("*****************************************\n");
printf("* *\n");
printf("* 1)Converti da .txt *\n");
printf("* *\n");
printf("* 2)Converti a .txt *\n");
printf("* *\n");
printf("*****************************************\n");
}
int main(){
int scelta;
char dir[1000];
disegnaMenu();
printf(">");
scanf("%d", &scelta);
if(scelta == 1){
printf("\n*****************************************\n");
printf("Directory:\n>");
gets(dir);
printf("\n");
puts(dir);
}
}
我该怎么办? 谢谢。
编辑:
好吧,显然不应该使用gets
和puts
,最好使用scanf("%1000s", dir)
和printf()