gpt4 book ai didi

c - 关于 'strcpy'函数使用

转载 作者:行者123 更新时间:2023-11-30 17:47:11 26 4
gpt4 key购买 nike

char input[32];
char name[32];
char discountUser[32];//not sure to using about arrays.
char notDiscountUser[32];//not sure to using about arrays.
int i,j;
int len;
fgets(input,32,stdin);
sscanf(input,"%s",name);
len = strlen(name);
for(i=0,j=0; i < len; i++)
{
if(isdigit(name[i]))
{
digits[j] = name[i];

if (digits[j] > 48)
{
strcpy(discountUser[i],name); //i want to stored the name at i index
printf("you have discount code\n");
}
else if (digits[j] <= 48)
{
strcpy(notDiscountUser[i],name); //i want to stored the name at i index
printf("you don't have discount code\n");
}
j++ ;
}
}

我需要区分是否有折扣代码的用户 输入 3charofname 和 1 位数字,例如。类别2 如果数字大于0,则用户有折扣 如果数字是0那么他们没有折扣例如我有 cat0 bee1 Ear2 Eye0当我打印时不折扣:cat0、eye0折扣:bee1、ear2

我通过 isdigit 检查数字,但在通过 strcpy 复制用户名时遇到问题。感谢帮助 。 :]

最佳答案

使用二维数组:

char discountUser[N][32];  
char notDiscountUser[N][32];

其中N是最大用户数,您可以#define将其设置为某个值。

您想要做的是:

char discountUser[32];

这是一个字符串,如果您使用chardiscountUser[i],您将引用char(单个字符,而不是string) 位于字符串 discountUser 中的索引 i 处。

现在,strcpy 需要一个字符串 作为其两个参数的输入,因此您无法将 discountuser[i] 作为其输入传递。

当您按照我上面的说明声明一个 2D 数组时,discountuser[i] 将引用一个 string (实际上 dicountuser [i] 将充当 char 指针),因此现在您可以将其作为参数传递给 strcpy

关于c - 关于 'strcpy'函数使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19022220/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com