又菜又爱敲啊 2021-10-14 16:32 采纳率: 50%
浏览 48
已结题

为什么输入a和n后三个printf全输出了

#include <stdio.h>
int main()
{
int a,n,x,y;
int b,c,d;
scanf("%d %d",&a,&n);
x=0;y=1;
while(x<n)
{
x+=1;
y=y*a;
}

if(y<1000&&y!=1)
{printf("The last 3 numbers is %d.",y);}
if(y=1);
{
printf("The last 3 numbers is 1.");}
if(y>=1000&&y!=1);
{

b=y%10;
c=y/10%10;
d=y/100%10;
printf("The last 3 numbers is %d%d%d.",d,c,b);

}

}

  • 写回答

2条回答 默认 最新

  • CSDN专家-Time 2021-10-14 16:34
    关注

    因为你的if后面有分号。

    img


    而且不能写成y=1 应该写成y==1

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月22日
  • 已采纳回答 10月14日
  • 创建了问题 10月14日

悬赏问题

  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题
  • ¥15 ad5933的I2C