gpt4 book ai didi

C++代码错误赋值

转载 作者:行者123 更新时间:2023-11-28 04:43:34 26 4
gpt4 key购买 nike

我的作业有一个问题告诉我

如果某个字符是一个数字,则必须将其转换为另一个字符,该字符的值等于原始数字 n 除以 4 的余数 (n%4)。例如,如果用户输入“987654”,则输出(取余数并反转数组后)应为:“012301”。

我写的代码工作得很好,除了这部分我想把其余部分放在我的函数中,但它似乎根本不起作用任何建议?

void function(char x[], int size)
{

**if (x[i] >= '0' && x[i] <= '9')
{
x[i]=x[i] % 4;
}**
cout << x[i];
}
cout<<endl;
}


}

最佳答案

您的数组 x 包含字符,但在您突出显示的部分中,转换依赖于查找整数值 n由该数字字符 x[i] 表示.

幸运的是,因为表示 '0' 的 ASCII 值字符可以被 4 整除, 即使您不减去 ' 0' 的值来自 x[i] ,模运算的结果不受影响。尽管如此,在找到 n 的模 4 之后,你最终得到一个 [0, 4) 范围内的整数值。要将其反射(reflect)回字符串,作为字符,您需要加回 '0' 的整数值

下面是一个代码示例,演示了我上面提到的内容。

if (x[i] >= '0' && x[i] <= '9')
{
int n = (x[i] - '0');
x[i] = (n % 4) + '0';
}

关于C++代码错误赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49719595/

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