C 例2.1 K&;R第二版:如何计算变量?

C 例2.1 K&;R第二版:如何计算变量?,c,C,我是编程的初学者。我在第一章中提到了幂函数,并将其修改为幂和函数。我的计算是在“show_val()”中插入位值,以显示每个变量的范围。问题主要在于我想在show_val中插入值。请指导我如何解决此问题。多谢各位 #包括 整数幂和(整数基,整数n); 无效显示值(整数倍); int main(){ 无符号字符vc=show_val(8); /*我试图在这里显示未签名字符的范围,但因为show_val 是一个空函数,所以它变成了错误*/ } /*幂和:将基数提高到n次方并求和;n=>0*/ 整数幂

我是编程的初学者。我在第一章中提到了幂函数,并将其修改为幂和函数。我的计算是在“show_val()”中插入位值,以显示每个变量的范围。问题主要在于我想在show_val中插入值。请指导我如何解决此问题。多谢各位

#包括
整数幂和(整数基,整数n);
无效显示值(整数倍);
int main(){
无符号字符vc=show_val(8);
/*我试图在这里显示未签名字符的范围,但因为show_val
是一个空函数,所以它变成了错误*/
}
/*幂和:将基数提高到n次方并求和;n=>0*/
整数幂和(整数基,整数n){
int i,p,和;
p=1;
总和=0;

对于(i=1;i您试图将void函数
void show_val(int pw)
(一个不返回任何内容的函数)赋给
无符号字符vc
变量。如果您想从show_val函数返回值,请更改:
int show_val(int pw)
,并返回一些内容。 否则,如果不想返回任何内容,只需调用main中的函数:

int main()
{
    show_val(8);
}

您正试图将void函数
void show_val(int pw)
(一个不返回任何内容的函数)赋给
无符号字符vc
变量。如果要从show_val函数返回值,请更改:
int show_val(int pw)
,并返回一些内容。 否则,如果不想返回任何内容,只需调用main中的函数:

int main()
{
    show_val(8);
}

无符号字符vc=show_val(8)

让我们把上面的代码分成LHS和RHS

LHS: 它是一个期望输入字符的变量

现在RHS正在做什么

RHS: 你给了show_val(8)

这是一个错误

为什么?? 因为如果你看到你展示了价值宣言: 无效显示值(整数) 您返回的是一个空白,即“无”。 并试图在LHS上与char等同

因此,编译器肯定会抛出错误

还有更多的变化要做,
首先,如果您清楚,请在问题中正确编辑此部分,然后我们可以查看其他更改。

unsigned char vc=show_val(8)

让我们把上面的代码分成LHS和RHS

LHS: 它是一个期望输入字符的变量

现在RHS正在做什么

RHS: 你给了show_val(8)

这是一个错误

为什么?? 因为如果你看到你展示了价值宣言: 无效显示值(整数) 您返回的是一个空白,即“无”。 并试图在LHS上与char等同

因此,编译器肯定会抛出错误

还有更多的变化要做,
首先,如果您清楚,请在问题中正确编辑此部分,然后我们可以查看其他更改。

您得到的错误是什么?更改为
int show_val(int pw){……;return n;}
?正如您所说,show_val不返回任何内容(这是一个无效函数)所以你不能将结果赋给一个无符号字符。你需要从show_val返回什么?你有什么问题?我得到了这个错误:void值没有被忽略,因为它应该是你得到的错误是什么?更改为
int show_val(int pw){……;return n;}
?就像你说的,show_val不返回任何东西(它是一个void函数)因此,您无法将结果分配给无符号字符。您需要从show_val返回什么?您的问题是什么?我遇到了这个错误:void值未按应有的方式被忽略