scanf格式码

代码 参数 含义

c char* 读取和存储单个字符,前导的空字符并不会跳过,如果给出宽度,就读取和存储这个数目的字符。字符后面不会添加一个NUL字节,参数必须指向一个足够大的 数组

i,d int* 一个可选的有符号整数被转换,d把输入解释为十进制,i根据它的第一个字符决定值得基数(为多少进制)

o,u,x unsigned* 一个可选的有符号数被转换,但它按无符号数存储,u表示值被解释为十进制,o解释为八进制,x解释为十六进制

e,f,g float* 期待一个浮点值,它的形式必须像一个浮点型字面值常量,但小数点是非必需的

s char* 读取一串空白字符,参数必须指向一个足够大的数组,当发现空白时输入就停止,字符串后面自动加上NUL终止符

[xxx] char* 根据给定组合的字符从输入中读取一串字符。参数必须指向一个足够大的字符数组。党羽带第一个不在字符数组中出现的字符时,输入就停止。字符串后面自动 加上NUL终止符。代码%[abc]表示字符组包括a、b和c。如果列表中以一个^开头,表示字符组合是所列出的字符的补集,所以%[^abc]表示字符组合为abc以外的 所有字符,右方括号也可以出现在字符列表中,但它必须是列表的第一个字符。

p void* 输入预期为一串字符,注入那些由printf函数的%p格式码所产生的输出,转换的结果将按照上面描述的进行打印所产生的字符的值是相同的

n int* 到目前为止通过这个scanf函数的调用从输入读取的字符被返回。%n转换的字符并不计算在scanf函数的返回值之内,它本身不消耗任何输入

% 用来与输入中的一个%相匹配,该%符号将被丢弃

你可能感兴趣的:(c和指针)