gpt4 book ai didi

c - 为什么是这样? number 变量如何获得 5 个不同的值?它怎么记得?

转载 作者:行者123 更新时间:2023-11-30 18:20:41 25 4
gpt4 key购买 nike

下面的代码请求 5 个数字并打印给定数字的星号。 number变量如何记住5个数字?输入的下一个数字不会破坏变量内的值吗?我不明白。你能给我解释一下吗?

下面的代码给出输出:

Enter 5 numbers between 1 and 30: 28 5 13 24 7
****************************
*****
*************
************************
*******


#include <stdio.h>
int main( void ){
int i;
int j; /* inner counter */
int number; /* current number */
printf( "Enter 5 numbers between 1 and 30: " ); /* loop 5 times */
for ( i = 1; i <= 5; i++ ) {
scanf( "%d", &number ); /* print asterisks corresponding to current input */
for ( j = 1; j <= number; j++ )
printf( "*" );

printf( "\n" );
} /* end for */
return 0;
}

最佳答案

您的问题的答案是:当您按“enter”键时,文本将转储到标准输入中。 scanf(..) 从标准输入中读取数据,从而为您解析所有 5 个整数(一一解析)。仅当 stdin 为空时 scanf 才会阻塞。因此这些值不存储在数字变量中,而是存储在标准输入中。

关于c - 为什么是这样? number 变量如何获得 5 个不同的值?它怎么记得?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15091381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com