最赞回答 / Mer1997
这么说吧 C语言中的"*"和C++中的"&"在函数中的使用一般都是为了改变 变量的值 ,但是”*“在实质上依旧是单向传值 只是函数中的指针形参与实参具有相同的内存地址,从而间接改变内存中的内容,因此在函数中改变形参的地址是不会对实参有影响的 而C++中的”&“则是相当于给变量起别名,因此在函数中操作的”形参“与实参实质上是共用一块内存空间的,对”形参“做的任何改变都能在实参上得到体现
2017-07-30
最赞回答 / JUST_4_IT
数组numArr[3]={3,8,6},数组长度其实是4,由于只是初始化了前三个,所以默认第四个为‘0’({3,8,6,0}),所以numArr[3]=0,在调用getMax的时候就是在比较0,3哪个大了,所以返回值是3.
2017-07-13
最赞回答 / qq_极光_6
可以设立一个指针intPointer:int *intPointer; 然后当取得了i的值后用:intPointer=(int *)malloc(i*sizeof(int)); int main() { int i; cin>>i; int[]a=new int[i]; }
2017-07-06
最新回答 / TTshuanger
重载函数与默认参数重叠导致的二义性问题 func(int); //重载函数1,只有1个参数,无默认参数 func(int a, int b =4); //重载函数2,有2个参数,有1个默认参数 func(int a=3, int b=4, int c=6); //重载函数3,有3个参数,有3个默认参数出现二义性,fun(1,2)会编译失败的。
2017-06-20
最赞回答 / SiO
你没明白数组的含义 你加上了*代表的是str的第一个元素 *str等价于 str[0] *str+1等价于str[1];所以打印的时候会打印出第一个字符H 如果理解请采纳谢谢
2017-06-08