【发布时间】:2021-12-25 00:25:45
【问题描述】:
当我用 while/do 循环完成对数字 (K) 的计数时,原来的 N 数已经丢失,现在为 0。所以我不能转到第 4 步)。这就是为什么我认为 id 创建具有相同输入的 2 个变量,所以我可以将 4) 步骤完全作为一个单独的过程。
(上下文 基本上任务是制作一个程序,1)用scanf读取一个数字N(1 4) 如果 N 包含 K 作为数字,则显示消息“是”,否则显示“否”。)
int main()
{
int K,N;
scanf("%d", &N);
if (N<=1 || N>=999999999)
{
printf("Wrong Input\n");
}
else
{
do
{
N=N/10;
K++;
}
while(N!=0);
}
return 0;
}
【问题讨论】:
-
您可以将
N的值保存在不同的变量中。 -
是的,复制
N。 :) 顺便说一句:您显示的程序中K的值未初始化。 -
在 C 语言中,我可以使用 scanf 只输入一个 %d 输入但获得 2 个具有相同输入的变量吗? 不能。
-
@ShambhavGautam 有这样一个标志,虽然它是一个隐含的标志。它被称为“忽略问题”。你可以在任何你不感兴趣的问题上使用这个技巧,或者你觉得自己低于你。
-
scanf信任用户输入合理的内容;它更多地用于管道,并且在出现错误时不会返回太多信息。如果您需要更多的交互控制,fgets和strtol会更好。