【发布时间】:2016-01-01 15:28:35
【问题描述】:
我正在尝试一会儿问一个问题,一会儿再确认,这基本上会在满足条件时重置第一个问题。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char Disque[] = "";
char qDisque[] = "";
system("clear");
while (strcmp(qDisque, "y"))
{
system("clear");
printf("\nLetter for disk : \n");
scanf("%s", Disque);
while (strlen(Disque) > 1)
{
system("clear");
printf("\nLetter for disk : \n");
scanf("%s", Disque);
}
system("clear");
printf("Use /dev/sd%s as install disk ? [y|n] : ", Disque);
scanf("%s", qDisque);
}
}
到目前为止一切顺利。除了我不能在要求确认时模仿 pacman -S $PKG 的行为:意思是如果我按 n 它将停止,但我可以按 ENTER 输入 o 或任何它将继续。
我的脚本只接受“任何击键”,但输入时只需添加空格,后面跟着 scanf()。
有没有不改变我的代码结构的解决方案(例如只改变条件或添加功能)?如果没有,我应该改变什么以使其模仿 pacman 行为?
我的程序的实际行为如下(解释):
Question ? : //ENTER keystroke
//ENTER keystroke
//ENTER keystroke
//ENTER keystroke
//ENTER keystroke
y //y keystroke
Are you sure ?
//ENTER keystroke
//ENTER keystroke
//ENTER keystroke
n //n keystroke
Okay no changes !
感谢男孩(和女孩)!
【问题讨论】:
标签: c while-loop scanf archlinux