字符数?

时间:2016-01-02 17:17:12

标签: c

我创建了一个名为Gift的功能,管理员可以输入用户名,如果在2d数组中找到用户名,则会将礼物添加到用户总数中。

2d数组:char pin [50] [7] [100];

每行包含一个用户,每列包含他的信息,如姓名,姓氏等。 现在,每个用户的总金额位于pin [i] [4]

礼品是根据用户名的长度计算的。用户名的每个字符是10 $。例如,如果用户名是Mary,礼品将是40 $。 我已经设法计算了礼物的数量,但我不知道如何用礼物替换初始数量(默认为0)。这是功能:

void Gift()
{
    printf("Enter the username of the user you want to gift: \n");
    scanf("%s", &key3);

    for (i = 0; i < 50; i++)
    {
        for (j = 5; j < 6; j++)
        {
            if (strcmp(pin[i][5], key3) == 0)
            {
                for (i = 0; key3[i] != '\0'; ++i) ;
                gift = 10 * i;

            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

这是

for (j = 5; j < 6; j++)
        {
            if (strcmp(pin[i][5], key3) == 0)
            {
                for (i = 0; key3[i] != '\0'; ++i) ;
                gift = 10 * i;

            }
        }
  • j在循环中只能是5(甚至不使用它!)
  • 使用strlen启用另一个循环
  • 我认为gift是一个合适长度的字符数组

所以代码可以是

        if (strcmp(pin[i][5], key3) == 0)
        {
            sprintf(gift, "%d",  10 * strlen(keys[i]));
        }