c - 数字到字符?

标签 c

我创建了一个名为 Gift 的函数,管理员可以输入用户名,如果在二维数组中找到该用户名,则礼物将添加到用户的总金额中。

二维数组: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;

            }
        }
    }
}

最佳答案

这里

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]));
        }

关于c - 数字到字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34568510/

相关文章:

c - 将信号处理程序添加到线程库的 C 函数中

c - C语言中如何比较数组

c - 错误 : conflicting types for built-in function ‘tolower’ [-Werror]

在 C 中将数据从一个矩阵复制到另一个矩阵

c - 不同数据类型的内存对齐是否不同

C读取文件并切割成二维字符串数组

c - 递增运算符在 if 语句中如何工作?

c - void** 是可移植的 C 吗?

C - 循环、<math.h> 和 float

C sys/stat.h 并非 stat 结构的每个字段都被初始化