A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

#include <stdio.h>
int main()
{
    //定义一个变量用来保存用户输入的整数
    int number;
   
    scanf("%d", &number);
    printf("%d\n",number);
    char c;
    scanf("%c\n",&c);
    printf("%c",c);
    return 0;
}

------------------------------------------
#include <stdio.h>
int main()
{
    //定义一个变量用来保存用户输入的整数
    //    int number;
    //
    //    scanf("%d", &number);
    //    printf("%d\n",number);
    //scanf函数回车之后就不能再执行另一个scanf()函数了。
   
    int a,b;
    scanf("%d %d",&a,&b);
    printf("a=%d b=%d\n",a,b);
   
    int c;
    scanf("%d",&c);
    printf("%d\n",c);
}

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

8 个回复

倒序浏览
悠悠·漠漠 来自手机 中级黑马 2014-4-25 11:34:30
沙发
scanf里面不要加换行,\n对它有特殊含义
回复 使用道具 举报
\n在scanf中不表示等待换行符,而是读取并放弃连续的空白字符
scanf("%c\n",&c);这里的'\n'意味着输入完毕,不会再接受输入值,且程序也不结束
故改为scanf("%c",&c);

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
写错了,去掉\n也不行
回复 使用道具 举报
本帖最后由 葬花桥 于 2014-4-25 12:07 编辑

楼主是不是在Xcode调试程序?我在Xcode中也会遇到这种情况,在第一个scanf输入之后程序直接结束并且还会输出printf中的字符串,但是程序本身是没有问题的,因为我把程序放到VS2012中去是可以正常运行的,这应该是Xcode的问题!楼主可以先把程序放到windos中去调试看看

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
数据类型的问题吧,可能是第一个输入的是int型,第二个输入的是char型,xcode不支持吧。都是int型就好使。
回复 使用道具 举报
scanf  语句默认结尾就是\n ,所以不必要再加换行了。
例如: scanf("%d\n%d",%a,%d);若想换行可以中间加\n 或者 空格键  
当中间是空格键时:用户默认输入完后  ,  空格  和 回车  程序都能继续。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马