库里斯托 2023-03-03 16:47 采纳率: 87.6%
浏览 32
已结题

请问运行到scanf函数的时候,我输入的\n被立马被认为是换行符吗

#include<stdio.h>
int main()
{
    int a;
    scanf("%d\n", &a);
    printf("%d",a);
    return 0;
}

img


请问运行到scanf函数的时候,我输入的\n会被立马认为是换行符吗?还是说在我按下回车键后才被认为是换行符?
之前看文章了解到scanf在遇到非空白符后的回车键才会往后面运行,我猜想是不是输入的"\n"还没有被当成换行符?

  • 写回答

3条回答 默认 最新

  • 於黾 2023-03-03 16:53
    关注

    \n什么时候都不会被认为是空白符
    你是说数据分隔符吗
    你只要求输入一个数据,这里没分隔符什么事
    而你要求输入一个换行
    那么当你输入了一个换行,这个换行会被当做scanf里要求的换行,而不被认为是数据确认
    所以你需要连续键入两个回车代码才会取消阻塞

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

报告相同问题?

问题事件

  • 系统已结题 5月8日
  • 已采纳回答 4月30日
  • 修改了问题 3月3日
  • 修改了问题 3月3日
  • 展开全部

悬赏问题

  • ¥15 内存地址视频流转RTMP
  • ¥100 有偿,谁有移远的EC200S固件和最新的Qflsh工具。
  • ¥15 找一个QT页面+目标识别(行人检测)的开源项目
  • ¥15 有没有整苹果智能分拣线上图像数据
  • ¥20 有没有人会这个东西的
  • ¥15 cfx考虑调整“enforce system memory limit”参数的设置
  • ¥30 航迹分离,航迹增强,误差分析
  • ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败
  • ¥15 用Ros中的Topic通讯方式控制小乌龟的速度,走矩形;编写订阅器代码
  • ¥15 LLM accuracy检测