Kar*_*rim 2 c validation function cs50
我正在重写我的CS50信用解决方案以使用功能.定义readCardNumber()时偶然发现错误.
long long readCardNumber()
{
do
{
long long result = get_long_long("Enter card number to verify: \n");
if (result < 0)
{
printf("Retry: \n");
}
}
while (result < 0);
return result;
}
Run Code Online (Sandbox Code Playgroud)
我使用CS50.h https://reference.cs50.net/cs50/get_long_long来获取号码.由于以下原因,我无法编译此解决方案:
error: use of undeclared identifier 'result'
Run Code Online (Sandbox Code Playgroud)
有人可以体验一下这里的问题吗?我在我的代码开头声明了函数,并在函数中声明和初始化结果.验证该数字的更好方法是什么?
https://docs.cs50.net/2018/x/psets/1/credit/credit.html - 解决方案规范我试图重做.
该result变量在的内部声明do...while块.它在块外不可见,其中包括条件while.
您需要在循环外部移动变量定义:
long long result;
do
{
result = get_long_long("Enter card number to verify: \n");
if (result < 0)
{
printf("Retry: \n");
}
}
while (result < 0);
Run Code Online (Sandbox Code Playgroud)