【发布时间】:2021-09-21 04:27:34
【问题描述】:
#include <stdio.h>
#include <cs50.h>
int main(void)
{
long creditcardno;
do
{
creditcardno = get_long("enter");
}
while (creditcardno<1000000000000 ||
creditcardno > 9999999999999999);
}
int i = 0;
long cc = creditcardno;
while (cc>0);
{
cc = creditcardno/10;
i++;
}
在上面的 C 程序中,我打算有一个名为 cc 的 long 类型的变量,它将使用用户输入的 creditcardno 的值进行初始化。
收到错误信息:
credit.c:14:11:错误:使用未声明的标识符“creditcardno” 通过“未声明的标识符”,clang 表示您使用了 在 credit.c 的第 14 行命名 creditcardno 尚未定义。如果您打算使用 creditcardno 作为 变量,确保通过指定其类型来声明它,并且 检查变量名是否拼写正确。
据我了解,我已经定义了变量 creditcardno 作为该变量存储用户信用卡的输入值。
【问题讨论】:
-
creditcardno是main的本地。你为什么要在main之外写代码? -
请注意,
while (...);后面的分号通常是错误的;它使循环体为空,因此根据测试最初是真还是假,循环要么什么都不做,要么无限循环。