【发布时间】:2019-11-24 10:30:24
【问题描述】:
int main(){
int cardnum;
int count = 0;
do{
printf("Enter your 16-digit Credit Card Number!\n");
scanf(" %d", &cardnum);
while(cardnum>0)
{
cardnum = cardnum / 10;
count++;
}
}while( count != 16);
}
所以我正在尝试制作一个程序,要求您插入 CC 的 16 位数字,如果您不输入 16 位数字,它会一直询问您,直到您输入为止。
由于某种原因,我得到了一个无限循环。 smb能解释一下吗?
【问题讨论】:
-
32bit int 不能容纳 16 位数字。
-
将其作为字符串读取。
-
您输入的是什么值?你认为哪个循环是无限的(你的代码中有两个)?