2 xyhqqlove xyhqqlove 于 2016.01.22 22:50 提问

关于scanf和printf的参数

为什么printf里面既可以用指针,又可以用变量,而scanf就不能,只能用指针,不能用变量呢?

5个回答

caozhy
caozhy   Ds   Rxr 2016.01.22 22:52
已采纳

让你定义一个函数,改变它的参数,要求这个参数的改变作用到主程序,你怎么做?是不是只能是指针?

反过来,让你在函数中得到主程序中的变量,怎么传?是不是既可以是变量也可以是指针?

91program
91program   Ds   Rxr 2016.01.22 22:58

能不能,由函数的原形,即定义决定。
这个没有太多的为什么,记住就行!

qq_27183003
qq_27183003   Ds   Rxr 2016.01.22 23:05

scanf必须用地址
printf的格式符要和后面的相一致,比如%s对应指针,%d对应变量。
这是规定,不是随意变的。

Mr_dsw
Mr_dsw   Ds   Rxr 2016.01.23 11:20

一楼说的对,输入和输出还是有差别的

MARSHALBEN
MARSHALBEN   2016.01.23 11:21

因为这就是C语言。就像为什么中文这么说一样。语言都有自己的语法,不是吗?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!