欢迎大家来到IT世界,在知识的湖畔探索吧!
“%*s”的作用
“%*s”可以被用在printf和scanf系列函数中,在这两种函数中的含义各不相同。
printf中的使用
在printf系列函数中,”%*s”主要是对字段限定符的补充。
一般来说,若想要对一个字符串进行字段限定,可以在”%s”的中间加上数字,例如”%10s”。但问题是这个数字只能是常数,若想要在程序运行期间改变字段限定的方式则会很麻烦,而”%*s”则可以添加一个形参代替””的位置,实现动态输出。
printf("%10s\n", "hello"); //输出" hello" printf("%*s\n", 10, "hello"); //同上 printf("%*s%s\n", 10, "", "hello"); //也可以采用这种方式在字符串"hello"前面固定输出10个空格
欢迎大家来到IT世界,在知识的湖畔探索吧!
scanf中的使用
在scanf系列函数中,”%*s”用于忽略指定类型的输入的值,使其不会被参数所获取。
欢迎大家来到IT世界,在知识的湖畔探索吧!//例:输入abc123 def456 //第一种情况,正常输入 scanf("%s%s", str1, str2); printf("%s\n%s\n", str1, str2); //输出: abc123 def456 //第二种情况,加"*" scanf("%*s%s", str1, str2); printf("%s\n%s\n", str1, str2); //输出: def456
补充
事实上,”*”可以应用于几乎所有类型而不仅仅是字符串类型。也就是说,不论是数值、字符、字符串类型都可以使用其达成一些特殊功用。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/74461.html