#include stdio.h void func(int*a,int b[])

#include<stdio.h>
void func(inta,int*b[])
{b[0]=*a+6;}
Void main()
{int a,b[5];a=0;b[0]=3;
func(&a,b);
printf("%d\n" ,b[0]);

这个该怎么算啊 想要步骤

#include <stdio.h>


void func(int *a,int b[]) {

    b[0] = *a + 6;

}


void main() {

    int a,b[5];

    a = 0;

    b[0] = 3;

    func(&a,b);

    printf("%d\n" ,b[0]);

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-02-11
用&a把a的内存地址传给func函数,此时func函数里的a就等于原来a的内存地址,再用*a把这个内存地址里存储的数值返回,所以此时的*a就等于原来a的值0,所以b[0]=0+6=6
输出6

#include stdio.h void func(int*a,int b[])
include <stdio.h> void func(int *a,int b[]) { b[0] = *a + 6;} void main() { int a,b[5];a = 0;b[0] = 3;func(&a,b);printf("%d\\n" ,b[0]);}

#include <stdio.h> void fun(int a, int b) { int t; t=a; a=b...
void fun(int a, int b)这里的a,b是形参。fun(c[i], c[i+l]);这里的c[i], c[i+l]是实参。值得传递是从实参向形参单向传递的。所以,形参的改变,不能影响实参,即,a,b的值交换了,但是c[i], c[i+l]的值不变。要想改变实参c[i], c[i+l]的值,可以用指针,或者用引用(...

#include <stdio.h> void fun(int*a, int*
这个函数实现了a变量与b变量"值"的交换。翻译一下就是:a里面存放的地址与b里面存放的地址发生了交换。再通俗一点:假设原来a指向M,b指向N,运行这个函数后,a执行N,b执行M了。需要注意的是:原来函数中的M和N都没有任何变化。进一步分析:退出这个函数之后,a和b两个变量都消失了,它们的指向(...

#include<stdio.h> void fun(int*a,int*b) {int*c; c=a;a=b;b=c;}...
调用fun函数时,是将p和q的值(x和y的地址)传给了a和b。注意,这里p的值和q的值传递过去了,p和q的值会变吗?不会。所以p和q仍然分别指向x和y。再回到fun函数中,可以看出,a和b的值(x和y的地址)是交换了,也即是说a原本指向x,现在指向了y,对应的b改为指向x。但这只能说a和b间...

...#include <stdio.h> void fun(int *a,int *b) {int *c; c=a;a...
b指向q指的地方,函数内部是让c指向a指的地方,让a指向b指的地方,再让b指向c指的地方,你发现这里面没有改变p和q原来指向的地方,即p还是指向x,q还是指向y。fun(&x,&y)是让a指向x,b指向y,你会发现这根本没涉及到p和q的指向,更谈不上改变它们的指向,所以答案选B啊。

#include<stdio.h> void fun(int *a,int *b) {int *c; c=a;a=b;b=...
include<stdio.h> void fun(int *a,int *b){ int *c;c=a;a=b;b=c;} main(){ int x=3,y=5,*p=&x,*q=&y;fun(p,q);printf("%d,",*p,*q);fun(&x,&y);printf("%d,%d\\n",*p,*q);return 0;}

#include<stdio.h> void Func(int b[]) { int j; for(j=0;j<4;j++...
输出0123 因为a被Func修改了 变成了0 1 2 3四个元素。void Func(int b[]){ int j;for(j=0;j<4;j++){ b[j]=j;} 这里 b[j]=j 就是赋值给a了。

void func(int *a,int b[]) { b[0]=*a+6; } main() {
因为你调用func函数在后,,定义b[O]在前。。你要是想输出3,,就要把 b[0]=3;func(&a,b);这两个语句调换一下顺序,,b[0]=3;在后。。func(&a,b);在前。。因为程序是从上往下读的。。

#include<stdio.h> void main() { char a='本金',b='年数',c='年利率...
{int x ;printf(“%d\\n”,(x=4*5,x*2,x+20));}A)20B)40C)60D)809.执行以下程序后的输出结果是( )。#include "stdio.h"void main(){int i = 0, j = 0, a = 6;if ((++i0)||(++j0)) a ++;printf("i=%d, j=%d, a=%d\\n", i, j, a);}A)i=0, j=0, a=6B)i=...

#include<stdio.h> void func(int b) { int a; a=b;b=10;} void main...
局部变量作用域的问题!当调用func(b);时,main里面的b会把值复制到func里面的b,两个b是不同的!在func中有又定义了一个a,当func运行完后,func的a和b生存期和作用域就结束了!main里的a和b还是原样,func的运行没有影响到main里的a和b!

相似回答