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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

#include<stdio.h>

int max(int a,int b)
{
    int MAX;
    MAX=a>b?a:b;
    return MAX;
}


int main(void)
{   
    int (*pmax)(int,int);
    int x,y,z;
    int max(int a,int b);
    pmax=max;
    printf("Please input two data:\n");
    scanf("%d %d\n",&x,&y);/*scanf函数后边加了换行符出问题*/
    printf("%d    %d\n",x,y);
    z=(*pmax)(x,y);
    printf("%d\n",z);
    return 0;
}
本来是接收2个字符的,不小心加了个换行符,结果要输入三个数字后,再回车才可以正常输出结果?

为什么

5 个回复

正序浏览
ydy96315 发表于 2015-4-30 06:43
你加了\n     输入的时候也是要加\n 啊。\n并不是输入控制符
50 60\n

谢谢  我也有这个问题
回复 使用道具 举报
赞一个  谢谢
回复 使用道具 举报
scanf  后面不能+  \n
回复 使用道具 举报
这个问题我也想知道
回复 使用道具 举报
你加了\n     输入的时候也是要加\n 啊。\n并不是输入控制符
50 60\n
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马