函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一 一顺次对应。
比如
int a=0;int b =0;
scanf(“%d%d”,&a,&b);
则在控制台输入:23,执行到玩上述代码后,a=2,b = 3;
&a,&b,&c中的&是寻址操作符,&a表示对象a在内存中的地址。
注意:如果scanf中%d是连着写的如“%d%d%d”,在输入数据时,数据之间不可以用逗号分隔,只能用空白字符(空格或tab键或者回车键)分隔——“2 (空格)3(tab) 4” 或 “2(tab)3(回车)4”等。若是“%d,%d,%d”,则在输入数据时需要加“,”,如“2,3,4”。
另外:sanf()函数在接收字符串时,遇到空格就会停止接收。可以使用gets()函数代替,但也可以用以下方式解决:
比如:
int main()
{
char a[20];
scanf("%[^\n]",a);
puts(a);
return 0;
}
这里主要介绍一个参数,%[ ],这个参数的意义是读入一个字符集合。[ ]是个集合的标志,因此%[ ]特指读入此集合所限定的那些字符,比如%[A-Z]是输入大写字母,一旦遇到不在此集合的字符便停止。如果集合的第一个字符是“^”,这说明读取不在“^“后面集合的字符,即遇到”^“后面集合的字符便停止。此时读入的字符串是可以含有空格的。
比如
int a=0;int b =0;
scanf(“%d%d”,&a,&b);
则在控制台输入:23,执行到玩上述代码后,a=2,b = 3;
&a,&b,&c中的&是寻址操作符,&a表示对象a在内存中的地址。
注意:如果scanf中%d是连着写的如“%d%d%d”,在输入数据时,数据之间不可以用逗号分隔,只能用空白字符(空格或tab键或者回车键)分隔——“2 (空格)3(tab) 4” 或 “2(tab)3(回车)4”等。若是“%d,%d,%d”,则在输入数据时需要加“,”,如“2,3,4”。
另外:sanf()函数在接收字符串时,遇到空格就会停止接收。可以使用gets()函数代替,但也可以用以下方式解决:
比如:
int main()
{
char a[20];
scanf("%[^\n]",a);
puts(a);
return 0;
}
这里主要介绍一个参数,%[ ],这个参数的意义是读入一个字符集合。[ ]是个集合的标志,因此%[ ]特指读入此集合所限定的那些字符,比如%[A-Z]是输入大写字母,一旦遇到不在此集合的字符便停止。如果集合的第一个字符是“^”,这说明读取不在“^“后面集合的字符,即遇到”^“后面集合的字符便停止。此时读入的字符串是可以含有空格的。