黑马程序员技术交流社区
标题:
scanf函数原理
[打印本页]
作者:
skywan
时间:
2015-7-19 21:11
标题:
scanf函数原理
scanf()函数是先将数据存入到缓冲区中,然后在从缓冲区依次取出数据。当输入空格或逗号或回车等符号的时候也是被存进了缓冲区内,当输出的时候要是数据类型不一样,则输出原值或随机值,若是数据类型一样的话,就输出空格或回车。
这儿需要注意以下,不过在输入的时候最好写成scanf("%d,%c,%d", &a, &c, &b);这种格式的,确保不会出现问题。
int main(int argc,const char *argv)
{
//定义两个整形变量和一个字符变量
int a, b;
char c;
//输入两个整形,中间没有加任何符号
scanf("%d%d",&a,&b);//当你输入的时候数字中间加上空格,则结果可以输出。若加逗号则只可以将第一个输出。
printf("%d\n%d",a,b);//打印不出来结果
//输入两个整形,中间加逗号
scanf("%d,%d", &a, &b);
printf("%d,%d", a, b);//打印出来结果
//输入两个整形,中间不加任何符号
scanf("%d%c%d", &a, &c,&b);//若是输入的时候加入空格或逗号,则第一个正常输出,第二个输出空格,第三个输出随机值;
printf("%d,%c,%d", a,c, b);//打印出来结果
scanf("%d,%c,%d", &a, &c, &b);//若是输入的时候逗号,则正常输出;
printf("%d,%c,%d", a, c, b);//打印出来结果
return 0;
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2