For循环只执行一次,将一个数字提升为另一个数字



编程/编码新手,无法理解为什么我的代码不起作用。

它应该向你展示将一个数字提升到另一个数字的结果。但它只循环一次。

错误示例:

输入一个整数:3将整数提高到什么数字:43提升到4是9

我的代码:

#include <stdio.h>
int raiseToPow(int nNum1, int *nResult) {
*nResult = nNum1 * nNum1;
}
int main() {
int nNum1, nNum2, nResult, i;
printf("Input an integer: ");
scanf("%d", &nNum1);
printf("n");
printf("Raise integer to what number: ");
scanf("%d", &nNum2);
printf("n");

for (i = 0; i < nNum2; i++) {
raiseToPow(nNum1, &nResult);
}
printf("%d raised to %d is %d", nNum1, nNum2, nResult);
}

您应该用1初始化nResult,因为您的变量内部没有任何内容。此外,将*nResult=nNum1*nNum1替换为*nResult=]nNum1

它循环了正确的次数,您只需要将打印放入循环中。此外,您应该在打印的末尾添加一行换行符。

for(i = 0; i < nNum2; i++)
{
raiseToPow(nNum1, &nResult);
printf("%d raised to %d is %dn", nNum1, nNum2, nResult);
}

相关内容

最新更新