在C中,使用带有参数的scanf()时,scanf("%d %*d", &a, &b)的作用会有所不同。它只输入一个变量的值,而不是两个变量!
,请解释一下!
scanf("%d %*d", &a, &b);发布于 2011-09-30 08:01:07
*基本上意味着说明符被忽略(整数被读取,但没有分配)。
man scanf报价
*取消赋值。下面的转换照常发生,但不使用指针;转换结果被简单地丢弃。
发布于 2011-09-30 08:03:18
星号(*)表示格式的值将被读取,但不会写入变量中。scanf并不期望它的参数列表中有这个值的变量指针。你应该写:
scanf("%d %*d",&a);发布于 2011-09-30 08:02:34
http://en.wikipedia.org/wiki/Scanf#Format_string_specifications
符号百分比后面的可选星号(*)表示该格式说明符读取的数据不应存储在变量中。
https://stackoverflow.com/questions/7607550
复制相似问题