黑马程序员技术交流社区

标题: 很简单,却不知道问题在哪里 [打印本页]

作者: 卫博生    时间: 2015-10-19 14:41
标题: 很简单,却不知道问题在哪里
  1. #include <stdio.h>
  2. int main()
  3. {
  4.         int a;
  5.         char c;
  6.         printf("请输入一个整数和字符:");
  7.         scanf_s("%d%c", &a,&c);
  8.         printf("刚刚输入的是:%d%c\n", a,c);

  9.         return 0;
  10. }
复制代码



作者: 你又痴我又迷    时间: 2015-10-19 14:55
scanf_s不懂,只会用scanf,还有输入输出的时候空格都不加,不方便阅读。
作者: 卫博生    时间: 2015-10-19 14:57
你又痴我又迷 发表于 2015-10-19 14:55
scanf_s不懂,只会用scanf,还有输入输出的时候空格都不加,不方便阅读。

scanf_s只是因为我使用的是VS2013而已,用C++6.0编译的话,才使用scanf
作者: Brisingr    时间: 2015-10-19 15:08
什么问题啊?
作者: 卫博生    时间: 2015-10-19 15:11
Brisingr 发表于 2015-10-19 15:08
什么问题啊?

你运行试试,输入之后,直接关闭,不输出
作者: Brisingr    时间: 2015-10-19 15:17
卫博生 发表于 2015-10-19 15:11
你运行试试,输入之后,直接关闭,不输出

改成scanf_s("%d%*c%c", &a,&c);或者scanf_s("%d %c", &a,&c);
因为你输入完数字后会输入一个空格,系统自动把空格接收了,第一个方法%*c表示跳过一个字符,或者用第二种中间加个空格
作者: 小Who    时间: 2015-10-19 16:07
scanf后面还可以加_s么,上楼正解,还可以在第7、8两行中%d和%c之间都加个逗号,输入时也要加逗号。
作者: hulk374    时间: 2015-10-19 22:54
学习了
作者: 亚东    时间: 2015-10-19 23:00
我用的xcode  表示没看懂




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2