我需要创建一个程序来读取字符串“A = B”并在变量数组中搜索 B。如果它没有找到 B,那么它会询问它的值并将其放入另一个数组中。好吧,我不知道这个想法是否清楚,但这里有一个例子:
while(1){
printf("Get string\n");
gets(L);
if(L[0]=='\0') break;
if(L[2] == '1') {
printf("Value of 1: ");
scanf(" %lf", &m);
}
}
printf("\nbreak");
我需要当我们输入回车时这个程序停止,所以我使用了 if(L[0]=='\0') break; 为了它。
我的问题是:每次我问B的值时,我的程序都会读取一个“鬼串”L,是的,它不让我输入L的值,程序就停止了。它几乎是双重读取字符串,但由于条件 L[0] != '\0' 而中断。我究竟做错了什么?如果我们删除这个条件,那么程序会打印 2 次“获取字符串”,而不要求我输入字符串 2 次。