一中scanf

来源:互联网 发布:杨辉三角代码java 编辑:程序博客网 时间:2024/05/17 04:36
scanf中一种很少见但很有用的转换字符:[...]和[ ^...]。
#include<stdio.h>
 main() 

char strings[100]; 
scanf("%[1234567890]",strings); 
printf("%s",strings);
return  0; 

运行,输入:1234werew后,结果是:1234。
通过运行可以发现它的作用是:如果输入的字符属于方括号内字符串中某个字符,那么就提取该字符;如果

一经发现不属于就结束提取。该方法会自动加上一个字符串结束符到已经提取的字符后面。 
scanf("%[^1234567890]",strings); 它的作用是:如果一经发现输入的字符属于方括号内字符串中某个字符

,那么就结束提取;如果不属于就提取该字符。该方法会自动加上一个字符串结束符到已经提取的字符后面

。 
注意:方括号两边不能空格,如:scanf("%[ 1234567890 ]",strings); scanf("%[ ^1234567890 

]",strings); 不让空格也会算在里面的。
用这种方法还可以解决scanf的输入中不能有空格的问题。只要用
scanf("%[^\n]",strings); 就可以了。
0 0
原创粉丝点击