针对初学者最受欢迎的问题的解决方案。
#c #learning #alx

我目前是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. 功率函数中的结果变量未初始化为1。
  2. printf语句被错误地放置,编译器返回语句之后的任何语句。
  3. 尽管电源声明正确分析了x至y的值,但结果尚未使用。

解决方案

  1. 在幂函数中,使int结果= 1;
  2. 将printf语句放在返回值之前。
  3. 将功率(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;
}