【扩展知识1】scanf("%[^n],c)和scanf("%[^ ],c)具体含义

      【扩展知识1】scanf("%[^n],c)和scanf("%[^ ],c)具体含义


     以前自己也遇到这些问题,也查了查,但慢慢的又忘了~- ~。今天又碰到,所以就把它写成篇文章吧,以供大家查阅。本文中写的内容有参考网上高手们的,我只是总结总结,谢谢。   

先看程序^_^

ONE

#include <stdio.h>
 
int main( void )
{
         chararray[ 100 ];
        
         printf("输入您要打印的内容:" );
         scanf("%[^ ]", array ); 
        
         printf("您输入的内容为:%s\n", array );
          
         return0;
}

TWO

#include <stdio.h>

int main( void )
{
	char array[ 100 ];
	
	printf("输入要打印的内容: " );
	scanf( "%s", array );  
	
	printf( "您输入的内容为: %s\n", array );
	 
	return 0;
}

解读:第一个程序使用的scanf(“%[^ ]”, array)是读入字符串直到遇到空格结束。第二个程序使用的是scanf(“%s”, array);也是遇到空格就结束。

比如输入:abcdefg abcdefg abcdefg

输出结果:abcdefg

 

THREE

#include <stdio.h>
 
int main( void )
{
         chararray[ 100 ];
        
         printf("输入要打印的内容:" );
         scanf("%[^\n]", array ); 
        
         printf("您输入的内容为: %s\n", array );
          
         return0;
}


解读:本程序读取字符直到遇到’\n’或回车为止。

比如输入:abcdefg abcdefg abcedef

输出结果:abcdefg abcdefg abcedef

PS输出字符串中有\n不是换行符,只能作为字符串中的一部分处理。

比如输入:abcdefg\n abcdefg abcdefg

输出结果:abcdefg\n abcdefg abcdefg

 

总结:

综合上述,我们可以知道%[^\n]和%[^ ]的含义了。符号^ 表示取反的意思。[^ ]表示除了空格,所有的字符都可以读取;[^\n]则表示除了换行符,所有的字符都可以读取。

有时候,在程序中需要读取字符串直到回车为止,也可以使用函数gets(array)读取。


【指尖的微笑】错误在所难免,希望得到大家的指正^-^

转载时请保留http://oursharingclub.joinbbs.net和 codingit.howbbs.comA 的链接,谢谢


  • 13
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值