以下句子中的“对于每个转换的值”是什么意思?
问:为什么电话
scanf("%d", i)
打不通?答:您传递给的参数
scanf
必须始终是指针:对于每个转换的值,scanf 通过填写您传递指针的位置之一来“返回”它。(另请参阅问题 20.1。)要修复上面的片段,请将其更改为scanf("%d", &i)
.
scanf()
可以在一次调用中扫描多个值。例如:
int numConverted = scanf("%d %f %d", &myInt1, &myFloat, &myInt2);
注意:您应该始终检查返回值以了解实际转换了多少。
如果scanf("%d", &i)
使用 input执行123
,则字符序列123
将转换为一个int
值,该值存储在i
.
这不是类型转换可能由强制转换指定的,但将其称为“转换”仍然是合理的。