C语言为什么输出结果不对啊?

#include <stdio.h>
int main ()
{
int n=1;
int a;
printf("请输入班级人数(正整数):");
scanf("%d",&a);
do{
printf("%d ",&n);
n+=2;
}while(n<=a);

return 0;

}
比如输入9 运行结果是6487580 6487580 6487580 6487580 6487580
正确答案应该是1 3 5 7 9

printf("%d ", &n)输出的是n的地址不是值,把&去掉,改成

printf("%d ",n);

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-12-17
程序中的循环语句中出了问题。其中的格式化输出语句是不带取地址符号的。请把循环语句改成:;do{printf("%d",n);n+=2;}while(n<=a);
第2个回答  2021-12-04
这是因为在你的代码中,printf函数的第二个参数多了一个&,把它去掉就可以了。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网