“转换后的每个值”的含义是什么?
问:为什么电话
scanf("%d", i)
不起作用?答:传递给
scanf
的参数必须始终是指针: 值转换,scanf通过填写其中一个来“返回”它 你传递指针的地点。 (另请参阅question 20.1。)修复 上面的片段,将其更改为scanf("%d", &i)
。
我在c-faq找到了这个;它是question 12.12。
答案 0 :(得分:2)
scanf()
可以在一次通话中扫描多个值。 e.g:
int numConverted = scanf("%d %f %d", &myInt1, &myFloat, &myInt2);
注意:您应该始终检查返回值,以了解实际已经转换了多少
。答案 1 :(得分:2)
如果您使用输入scanf("%d", &i)
执行123
,则字符序列123
已转换为int
值,该值存储在{ {1}}。
这不是演员可能指定的类型转换,但将其称为“转换”仍然是合理的。