发布网友 发布时间:2022-03-01 02:45
共10个回答
热心网友 时间:2022-03-01 04:14
取决于在scanf中使用还是在printf中使用。
在scanf中使用,则添加了*的部分会被忽略,不会被参数获取。
例如:int a,b;char b[10];scanf("%d%*s",&a,b);输入为:12 abc那么12将会读取到变量a中,但是后面的abc将在读取之后抛弃,不赋予任何变量(例如这里的字符数组b)
在printf中使用,表示用后面的形参替代的位置,实现动态格式输出。
例如:
printf("%*s",10,s);/意思是输出字符串s,但至少占10个位置,不足的在字符串s左边补空格,这里等同于printf("%10s",s);/
C语言%*s用法
1、在scanf中使用,则添加了*的部分会被忽略(跳过),不会被参数获取。
例如:
int a,b;
char b[10];
scanf("%d%*s",&a,b);
输入为:
12 abc
那么12将会读取到变量a中,但是后面的abc将在读取之后抛弃,不赋予任何变量(例如这里的字符数组b)
用*和扫描集配合,可以从输入中只选出需要的内容,而忽略其余的东西。
另外,也常用于清空缓冲区。
2、在printf中使用,*表示用后面的形参替代*的位置,实现动态格式输出。
例如:
printf("%*s", 10, s); /*意思是输出字符串s,但至少占10个位置,不足的在字符串s左边补空格,这里等同于printf("%10s", s);*/
printf("%.*s\n",int,str) ;
// %.*s 其中的.*表示显示的精度 对字符串输出(s)类型来说就是宽度
// 这个*代表的值由后面的参数列表中的整数型(int)值给出
例如:
printf("%.*s\n", 1, "abc");// 输出a
printf("%.*s\n", 2, "abc");// 输出ab
printf("%.*s\n", 3, "abc");// 输出abc >3是一样的效果 因为输出类型type = s,遇到'\0'会结束
热心网友 时间:2022-03-01 05:32
花括号"{" "}"主要是为了表示一段代码是一个部分,。主要有以下集中用法热心网友 时间:2022-03-01 07:07
取决于在scanf中使用还是在printf中使用。
在scanf中使用,则添加了*的部分会被忽略,不会被参数获取。
例如:
int a,b;
char b[10];
scanf("%d%*s",&a,b);
输入为:
12 abc
那么12将会读取到变量a中,但是后面的abc将在读取之后抛弃,不赋予任何变量(例如这里的字符数组b)
在printf中使用,*表示用后面的形参替代*的位置,实现动态格式输出。
例如:
printf("%*s", 10, s); /*意思是输出字符串s,但至少占10个位置,不足的在字符串s左边补空格,这里等同于printf("%10s", s);*/
热心网友 时间:2022-03-01 08:58
加上这个星号的作用是将对应的输入忽略,不赋予变量,例如:热心网友 时间:2022-03-01 11:06
例如热心网友 时间:2022-03-01 13:31
//zhidao.baidu.com/question/310763172://zhidao.baidu.com/question/310763172s已经定义成一个指针了,也就是说你要访问这个指针所指向的结构体的成员时直接使用->就行了。热心网友 时间:2022-03-01 16:12
按我的理解,C语言中单独的[ ]什么也不是。不是中括号,也不是其他的。。。组合使用时可以定义数组,如int a[10];表示定义一个10个元素的数组,a[3]=5;表示第三个数组元素的值是5,int a[2][2];表示定义一个二维数组。热心网友 时间:2022-03-01 19:10
乘,指针 表示一个字符串,这个字符串有两个字符,一个有效字符 '*' "*"在c语言中代表指向的内容,它与所指内容合在一起构成指针热心网友 时间:2022-03-01 22:25
通俗讲,就是代码从这里开始,到那里结束。热心网友 时间:2022-03-02 01:56
确定一个代码块 并创建一个块级作用域