我是一个超级初学者程序员。基本上我有以下代码:

int main()
{
    char name[30];
    printf("Name of the animal exchange: \n");
    scanf(" %s", &name);

    char animalname[14];
    int quantity = 0;
    int quantitysum;
    int type = 1;

    do {
        printf("A(z) %d. fajta neve: \n", type);
        scanf(" %s", &animalname);

        while(strlen(animalname)<15) {
            printf("Quantity: \n");
            scanf(" %d", &quantity);
            quantitysum += quantity;
            break;
        }

        if(strlen(animalname)<15) {
            type++;
        }
    } while (animalname != "");
}


我以为循环应该按while所述按回车键停止。有什么问题?

最佳答案

您不能使用!=比较字符串,因为这只会比较指针。相反,您必须使用strcmp或类似的函数:

while (strcmp(animalname, "") != 0);

关于c - 做{}而不会终止,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27755543/

10-17 00:38