【发布时间】:2022-07-18 21:13:42
【问题描述】:
我正在学习 C,在这里我需要帮助。我只是在我的课程练习中处理一个小程序,我需要在循环之外使用我的变量(即在for 循环内)。我知道这是一个非常愚蠢的问题,但我需要你的帮助。这是我在 CS50 IDE 中编写的代码:
#include <stdio.h>
#include <cs50.h>
#include <math.h>
#include <ctype.h>
#include <string.h>
int main(void)
{
// Verifies if the card_number is between 13 and 16 digits
long card_number = 0;
for (int i = 0; i < 20; i++)
{
card_number = get_long("Insert the card's number: ");
int reach_zero = 0;
int digit_count = 0;
do
{
reach_zero = (card_number /= 10);
digit_count++;
}
while (reach_zero != 0);
if (digit_count >= 13 && digit_count <= 16)
{
break;
}
}
// Prints the card_number
printf("%li\n", card_number);
}
我只需要printf card_number。
【问题讨论】:
-
您已经在打印变量
card_number,它被循环while (reach_zero != 0);归零。你有什么问题? -
不是在循环内声明变量,而是在外部进行,它在整个
main函数中可见。虽然,我不确定这是否是你要问的。 -
card_number /= 10您修改它,使其在循环后始终为0。也许你想要int reach_zero = card_number; do { reach_zero /= 10;... -
卡号?将有 20 个。
标签: c