C语言中的scanf |
您所在的位置:网站首页 › scanf函数用法例子 › C语言中的scanf |
scanf
C语言中,scanf语句用于扫描键盘输入的数据,存储到变量的地址中。 有两种用法: scanf(“输入控制符”,输入参数);scanf(“非输入控制符 输入控制符”,输入参数); 非输入控制符必须原样输入输出参数由若干个地址组成,可以是变量的地址,或字符串的首地址。 使用scanf的例子例一: #include int main() { int data; printf("请输入一个整数:/n"); scanf("%d",&data);//注意后面这里的变量“data”前一定要加取地址符& printf("你输入的整数是:%d\n",data); return 0; }上面的代码编译运行后可以识别输入了一个什么数,并打印在屏幕上。 在上述代码中,如果scanf语句换成scanf("data=%d",&data);,那么在输入数据的时候就要按照双引号里面的格式先输入data=,后面接着敲要输入的数据。 例二:(输入多个数据) #include int main(void) { int data1,data2,data3; printf("请输入三个整数:\n"); scanf("%d%d%d",&data1,&data2,&data3); printf("你输入的三个数是:%d,%d,%d",data1,data2,data3); return 0; }按照上述代码运行,输入数据的时候可以输入一个数据后按空格,紧接着输入下一个数据,输入完最后一个数据后直接按回车。也可以输入一个数据按一次空格。 如果上述代码的scanf语句换成这样:scanf("%d,%d,%d",&data1,&data2,&data3);(在%d之间加了逗号),风险可能会很大。因为如果只输入一个数据后不小心按了回车,那程序记录一个数据就直接结束了。后面两个数据是系统默认给你的两个数。 此时,正确的输入只有这样(用空格隔开也不行了): 如果例二代码中的scanf语句换成这样:scanf("%d %d %d",&data1,&data2,&data3);(在%d之间加了空格),也会有风险,风险和上面一样。此时,正确输入有两种: 对像scanf("a=%f,b=%f,c=%f",&a,&b,&c);这种格式的,编译运行程序后,输入的内容一定要按照双引号里面的内容敲:a=(要输入的值),b=(要输入的值),c=(要输入的值),才能正确输入。 因此,写scanf的时候千万不要在双引号里面乱加东西😂,而且建议有多少个数据就写多少个scanf语句。 使用scanf输入字符 #include int main(void) { char data1; char data2; char data3; printf("请输入三个字符\n"); scanf("%c%C%C",&data1,&data2,&data3); printf("你输入的三个字符是:data1=%c,data2=%c,data3=%c\n",data1,data2,data3); return 0; }上述代码可以扫描输入的字符,但是输入的时候不能用空格分割,也不能输入一个按一次回车,因为空格和回车都算是字符类型,因此只能连着输入三个字符。 上述代码编译运行后,输入整数和输入小数之间可以用空格或者回车相隔,但是输入小数和输入字符之间不能用空格和回车 如果输入整数和输入小数之间也连着,电脑会认为小数是以0.xxxx开头的数字 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |