下面給出
#include <stdio.h>
void func2 (int num, int *result);
int main()
{
int num, result;
printf("Enter a number: \n");
scanf("%d", &num);
func2(num, &result);
printf("func2(): %d\n", result);
return 0;
}
void func2(int num, int *result)
{
//key in code
}
在我寫的 void func2 中
int i=0;
result=&i;
while (num!=0)
{
i =((num%10)*(num%10));
num=num/10;
}
但編程沒有正確回傳變數 i 的值。我的變數賦值有什么問題?
預期輸出:
Enter a number:
24 (user enter)
func2(): 20
實際輸出:
Enter a number:
24 (user enter)
func2(): 32767
uj5u.com熱心網友回復:
您需要通過 間接分配result,而不是設定result為另一個變數的地址。
int i=0;
while (num!=0)
{
i =((num%10)*(num%10));
num=num/10;
}
*result = i;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/341530.html
