| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3600 人关注过本帖, 4 人收藏
标题:scanf()函数释疑(上/下)
只看楼主 加入收藏
bdcwq
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-5-30
收藏
得分:0 
以下是引用anthony634在2006-8-29 21:11:00的发言:

又一好帖子,我加点料下去,仅供娱乐:
scanf()中使用%n可以得到已经获得的字符个数。使用如下:
#include<stdio.h>

int main(void)
{
char strings[100];
int num;

scanf("%s%n",strings,&num);
printf("上面已经获得%d字符",num);
return 0;
}
注意:要区别于scanf()的返回值(成功获得的数据个数)。
3. 仅当scanf()用于字符串时的技巧------扫描集格式。通过下面的程序进行说明:
#include<stdio.h>

int main(void)
{
char strings[100];

scanf("%[1234567890]",strings);
printf("%s",strings);
return 0;
}
运行,输入:1234fjerkfj后,结果是:1234。作用是:如果输入的字符属于方括号内字符串中某个字符,那么就提
取该字符;如果一经发现不属于就结束提取。该方法会自动加上一个字符串结束符到已经
提取的字符后面。
如果要进行上述作用的逆命题,可以该为scanf("%[^1234567890]",strings); 它的作用是 :如果一经发现输入的字符属于方括号内字符串中某个字符,那么就结束提取;如果不属 于就提取该字符。该方法会自动加上一个字符串结束符到已经提取的字符后面。
注意:方括号两边不能空格,如:scanf("%[ 1234567890 ]",strings); scanf("%[ ^123
4567890 ]",strings)

[1234567890]这里用的是正则表达式吗?


2006-09-04 16:28
快速回复:scanf()函数释疑(上/下)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.010779 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved