C中的”%*s”

C中的”%*s””%*s”的作用”%*s”可以被用在printf和scanf系列函数中,在这两种函数中的含义各不相同。printf中的使用在printf系列函数中,”%*s”主要是对字段限定符的补

大家好,欢迎来到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个空格

scanf中的使用

在scanf系列函数中,”%*s”用于忽略指定类型的输入的值,使其不会被参数所获取。

//例:输入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://yundeesoft.com/84834.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信