scanf函数的讲解
程序员文章站
2022-07-06 12:34:32
scanf函数的讲解 scanf("输出控制符",&变量) &是一个取地址的符号 scanf("非输出控制符,输出控制符",&变量) 在键盘上输入多个变量 scanf("输出控制符输出控制符" ,&变量,&变量) ......
scanf函数的讲解
-
scanf("输出控制符",&变量) &是一个取地址的符号
# include<stdio.h> int main(void) { int i; printf("请输入...\n"); scanf("%d",&i); printf("i = %d\n",i); return 0; /* -----------vc++6.0中输出的结果------------------ 请输入... 12mmmmmmm i = 12 请输入... 12 i = 12 请输入... mmm344343434 i = -858993460 心得: 为什么会出现这样得结果呢?原来c语言在执行输入得时候不满足输出控制符得数据都不会录入。所以第二个后面得mmmm就直接省略了。 而如果mmmm在前面得话,系统就会认为你的数据都是错得,就不会把值赋给变量。 ------------------------------------------------ */ }
-
scanf("非输出控制符,输出控制符",&变量)
# include<stdio.h> int main(void) { int i; printf("请输入...\n"); scanf(",%d",&i); printf("i = %d\n",i); return 0; /* -----------vc++6.0中输出的结果------------------ 请输入... 12 i = -858993460 请输入... ,2 i = 2 请输入... 【】3 i = -858993460 心得: 为什么会出现这样得结果呢? scanf函数中非输出控制符都要原封不动得输入,否则就会报错。 ------------------------------------------------ */ }
-
在键盘上输入多个变量 scanf("输出控制符输出控制符" ,&变量,&变量)
# include<stdio.h> int main(void) { int i,j; printf("请输入...\n"); scanf("%d,%d",&i,&j); printf("i = %d,j=%d\n",i,j); return 0; /* -----------vc++6.0中输出的结果------------------ 请输入... 1,2 i = 1,j=2 请输入... 12 i = 12,j=-858993460 请输入... 1;2 i = 1,j=-858993460 心得: 这个和前面讲解的是一样的。任何的非输出控制符都要在输入的时候输入,不然很可能就会进行报错。 第二个输入就是没有在12之间输入非输出控制符导致系统将12认为是一个数赋值给了变量i, 而变量j没有赋值出现垃圾数据 所以说在使用scanf函数的时候不要轻易的添加非输出控制符,或者在前面给用户提示怎么输入数据。 ------------------------------------------------ */ }