编程/编码新手,无法理解为什么我的代码不起作用。
它应该向你展示将一个数字提升到另一个数字的结果。但它只循环一次。
错误示例:
输入一个整数: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);
}