输出20更多数据

时间:2015-11-03 04:00:14

标签: c arrays

我试图创建一个可以显示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");

    }

}

1 个答案:

答案 0 :(得分:1)

  1. 向上移动int index = 1;并退出while循环
  2. StartIndex += 20;替换为EndIndex += 20;
  3. 并替换

    (confirm == 'n' || 'N')  
    

    (confirm == 'n' || confirm == 'N')  
    
  4. 我认为你从签名下的第一个功能中遗漏了{,或者只是一个错字。