编程语言c语言

请问什么时候要加上地址符号&啊?比如二维数组时scanf(“%lf”,&a[i][j]);再比如字符串事scanf("%s",a);字符常量scanf("%c",a)。一... 请问什么时候要加上地址符号&啊?比如二维数组时scanf(“%lf”, &a[i][j]);再比如字符串事scanf("%s",a);字符常量scanf("%c",a)。一位数组呢?等等,哪些需要加哪些不需要加,有点晕。 展开
 我来答
cdyzxy
2014-05-28 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:3721万
展开全部
一是要看调用函数对参数的要求,比如scanf如果输入整数要求给一个指向整数变量的指针,而int a;是整数变量,它不是指针,而是int型的,所以要取出这个变量的地址写到参数位置&a;如果是int a[10][10];那么a也不是指向整数变量的指针,假设输入a[i][j]这个变量,它的类型是int型的,也需要取它的地址,也就是在前面加&得到,这样最容易记忆,也可以写成a[i]+j这个就是指针了,因为a[i]是指向a[i][0]的指针;int a[10];这种情况,如果输入a[2]当然也要写&a[2]最直观,也可以写a+2,int *p,a[10];时还可以写p=a;参数为p+2;或者p=&a[2];参数直接写p。
记那么多没有必要,你只要记住:scanf输入要求提供的是个地址或者说指针,那我就将变量写出来,然后为取地址前面加个取地址的运算符&。其他的情况你见过就可以了,万一别人的程序写出来你也能认。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式