m0_56815944
2021-10-06 11:26
采纳率: 33.3%
浏览 34

C语言 关于scanf的问题


#include <stdio.h>
#include <stdlib.h>
int main()
{
    int fir, sec, third;
    printf("enter phone  num: ");
    scanf("(%d) %d %d", &fir, &sec, &third);
    
    printf("%d.%d.%d",fir,sec,third);
    return 0;
     

}

为啥最后输出是这个啊(我试了下去掉括号就没事了 但是加上括号是错的吗?还是在不同的电脑上就不一样)
enter phone num: (1) 2 3
1.32766.-272632696Program ended with exit code: 0

  • 好问题 提建议
  • 收藏

5条回答 默认 最新

  • 想上天的狗 2021-10-06 11:42
    已采纳

    如果不是输入的时候是中文,那就是编译器,环境问题了

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 后面的输入格式要一样的,不能加括号

    评论
    解决 无用
    打赏 举报
  • 大概是只仓鼠 2021-10-06 11:33

    你是不是中文和英文的括号不一样?转转半角和全角试试?

    评论
    解决 无用
    打赏 举报
  • qfl_sdu 2021-10-06 11:34

    输入的时候,输入格式必须与scanf中的格式完全一致才行,否则会出错。
    scanf("(%d) %d %d", &fir, &sec, &third);这么写的时候,你在输入的时候也要按照如下形式输入:
    (1) 2 3

    评论
    解决 无用
    打赏 举报
  • 大概是只仓鼠 2021-10-06 11:37

    或者试试这个? scanf("%*c%d%*c%d %d", &fir, &sec, &third);

    评论
    解决 无用
    打赏 举报