我目前是ALX社区的学生。我决定在Dev.to上发布我的学习过程。我将分享我的解决方案,以解决C编程中的问题以及解决各种错误的解决方案。
编写一个C程序,将X提高到Y的力量
原始解决方案
#include<stdio.h>
int power(int x, int y)
{
int i;
int result;
for(i = 1; i <= y; i++)
{
result = result * x;
}
return(result);
printf("result is %d", result);
}
int main()
{
int x;
int y;
printf("enter two number\n");
scanf("%d %d", &x, &y);
power(x,y);
return(0);
}
校正
- 功率函数中的结果变量未初始化为1。
- printf语句被错误地放置,编译器返回语句之后的任何语句。
- 尽管电源声明正确分析了x至y的值,但结果尚未使用。
解决方案
- 在幂函数中,使int结果= 1;
- 将printf语句放在返回值之前。
- 将功率(x,y)的值存储在一个称为结果的另一个变量中。
新代码
#include <stdio.h>
int power(int x, int y)
{
int i;
int result = 1;
for(i = 1; i <= y; i++)
{
result = result * x;
}
printf("result is %d", result);
return(result);
}
int main()
{
int x;
int y;
printf("enter two numbers\n");
scanf("%d %d", &x, &y);
int result = power(x, y);
return 0;
}