y3179305108 2022-10-14 07:30 采纳率: 0%
浏览 13

scanf后面能加\n吗

我是初学者 想问一下为什么这两个代码都能跑起来 但是第一个却不能正常的工作 第二个可以呢?这个\n是不能放在scanf后面吗

int main() {
int input = 0;
printf("加入大学\n");
printf("你要好好学习吗?(1/0)>:");
scanf("%d\n",&input);
if (input == 1)
printf("好offer\n");
else
printf("卖红薯\n");
return 0;
}

int main() {
int input = 0;
printf("加入大学\n");
printf("你要好好学习吗?(1/0)>:");
scanf("%d",&input);
if (input == 1)
printf("好offer\n");
else
printf("卖红薯\n");
return 0;
}

第一个代码就是能跑但是输入1或0得不到结果
  • 写回答

2条回答 默认 最新

  • [Pokemon]大猫猫 2022-10-14 08:44
    关注

    scanf中除了格式字符%d这种的要原样输入,所以输完1或者0后,还要输入\n(因为%d后有),接着还需要一个\n用来结束输入,所以输完数字后需要两个回车

    评论

报告相同问题?

问题事件

  • 创建了问题 10月14日

悬赏问题

  • ¥15 状态图的并发态问题咨询
  • ¥15 PFC3D,plot
  • ¥15 VAE模型编程报错无法解决
  • ¥100 基于SVM的信息粒化时序回归预测,有偿求解!
  • ¥15 物体组批优化问题-数学建模求解答
  • ¥15 微信原生小程序tabBar编译报错
  • ¥350 麦克风声源定位坐标不准
  • ¥15 apifox与swagger使用
  • ¥15 egg异步请求返回404的问题
  • ¥20 Ti毫米波雷达板同步