我试图创建一个可以显示20多个数据的函数,或者退出循环。最大的问题是确认,因为我希望用户输入Y或N.我该如何解决这个问题?
void DisplayData(int StartIndex, int EndIndex)
char confirm = 0;
while (confirm != 'n' || 'N')
{
int index = 1;
for (index = StartIndex; index < EndIndex; index++)
{
printf("%d. %d.%d.%d.%d => %d.%d.%d.%d | ", index, sourceIP[index][0], sourceIP[index][1], sourceIP[index][2], sourceIP[index][3],
destinationIP[index][0], destinationIP[index][1], destinationIP[index][2], destinationIP[index][3]);
if (protocol[index][3] == 0)
{
printf("%c%c%c", protocol[index][0], protocol[index][1], protocol[index][2]);
}
else if (protocol[index][4] == 0)
{
printf("%c%c%c%c", protocol[index][0], protocol[index][1], protocol[index][2], protocol[index][3]);
}
printf("| %d | %d\n", source_port[index], destination_port[index]);
}
printf("Display More: <Y>ES | <N>O: ");
scanf("%c", &confirm);
if (confirm == 'y' || confirm == 'Y')
{
StartIndex += 20;
}
else if (confirm == 'n' || 'N')
{
break;
}
else
{
printf("Invalid Input");
}
}
答案 0 :(得分:1)
int index = 1;
并退出while循环StartIndex += 20;
替换为EndIndex += 20;
并替换
(confirm == 'n' || 'N')
与
(confirm == 'n' || confirm == 'N')
我认为你从签名下的第一个功能中遗漏了{
,或者只是一个错字。