include <stdio.h>
int main()
{
char str[]="hello";
char *str2="world";
char str3[10];
printf("input the value \n");
scanf("%s",str3);
printf("str is %s\n",str);
printf("str2 is %s\n",str2);
printf("str3 is %s\n",str3);
}
~
int main()
{
char str[]="hello";
char *str2="world";
char str3[10];
printf("input the value \n");
scanf("%s",str3);
printf("str is %s\n",str);
printf("str2 is %s\n",str2);
printf("str3 is %s\n",str3);
}
~
2016-10-04
最赞回答 / 影衣
<...code...>因为函数参数的传递方式是单向值传递造成的。调用 chang() 函数时,将实参 a 和 b 的值对应传递给形参 a 和 b,形参 a 和 b获得初值。当 chang() 函数执行结束,返回主函数时,形参 a和b 的内存空间被释放,即形参 a 和 b 不在存在。但是形参的值并没有传递给实参 a 和 b,所以实参 a 和 b 的值仍然是他们的初始值。
2016-09-30