我正在上一堂课学习C。我已经获得了将用户输入的值设置为num的代码,但是当我尝试为另一个变量(placeHolder1)分配num的值并返回该新变量时,我被赋予了一堆随机数。不完全确定为什么新变量不接收num持有的内容。
long get_num(string prompt);
int main(void)
{
long n = get_num("Number: "); //prompts user for input
printf("%li\n",n);
}
long get_num(string prompt)
{
long num;
num = get_long("%s", prompt); //assigns num to the value of what user input
checksum(num);
return placeHolder1;
}
long checksum(num)
{
long placeHolder1 = num;
}
似乎您在使用可变范围。]概念时遇到困难
在此代码中
long checksum(num) { long placeHolder1 = num; }
placeHolder1
仅在函数执行期间存在。一旦执行离开该函数,placeHolder1将超出范围并有效消失。
您可能需要做类似的事情: