LuciferShaw 2022-11-19 20:38 采纳率: 0%
浏览 2

Clion输出问题,请教各位

问题遇到的现象和发生背景

有没有人告诉我这是为何?
理论上来说应该是x1=98,x2=765,y1=4,y2=1
但是在Clion上x2输出12851,我试过另外一台电脑,用的Visual C++6.0,是理论值。但这台电脑不是,是哪里的配置有问题吗

用代码块功能插入代码,请勿粘贴截图
#include <stdio.h>
void main() {
    int x1,x2;
    char y1,y2;
    scanf("%2d%3d%3c%c",&x1,&x2,&y1,&y2);
    printf("x1=%d,x2=%d,y1=%c,y2=%c\n",x1,x2,y1,y2);
}


运行结果及报错内容

9876543210
x1=98,x2=12851,y1=4,y2=1

  • 写回答

2条回答 默认 最新

  • JarodYv 人工智能领域优质创作者 2022-11-19 21:03
    关注

    问题出在%3c身上。因为%c每次只会读入一个字符,%3c尽管圈定了3个字符,但是只会读入一个。对于剩下的字符不同编译器的处理会有差异。有的会丢弃掉,有的会依然放在缓冲区。大部分编译器对于未读入的数据都会放在缓冲区,因此读入y1后,缓冲区剩下的数据影响了前一个值。

    总之读入数据时不要用%nc,会带来不可预知的结果。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 11月19日

悬赏问题

  • ¥15 虚拟机打不开,怎么解决
  • ¥15 为什么游戏兑换码能被重复领取
  • ¥30 (急!)java实现二叉链表构建二叉树,实现相关功能
  • ¥15 C#tekloa节点插件小项
  • ¥20 脑电信号的局部场电位分析
  • ¥30 Diodes 霍尔开关AH337已经obselete,他的升级替代料【不改变现有电路图】
  • ¥15 python爬虫IndexError: list index out of range
  • ¥15 (标签-考研|关键词-set)
  • ¥15 求修改代码,图书管理系统
  • ¥15 请问有没求偏多标签数据集yeast,reference,recreation,scene,health数据集。