我创建了一个名为 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/