1、要么你短点调试,要么你代码贴上来,要么你分析一下你的代码,跟着程序分析一下过程,要么就是程序运行太快调用了你没看出来,要么就是你的程序还没有运行到第二次调用就已经结束了。。
目前成都创新互联公司已为上千余家的企业提供了网站建设、域名、虚拟空间、网站托管维护、企业网站设计、乐至网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
2、通过指针调用,修改了数值。++*x,++*y对指针指向的值进行了修改,所以值增加了1,(z++)输出z的之后,对指针本身的地址增加一个int的偏移,但是函数返回时,指针本身的修改被丢弃,所以每次结果一致。
3、可以的,不过不可以调用main()函数。所有的程序都是从main函数开始,然后main函数调用其他的函数,其他的函数也可以调用其他的函数或者自身(递归调用),次数不限。最后在返回到main函数。
4、子程序结束时,静态局部变量的存储空间不会被内回收,也就是说它们的值会被保存起来。
5、15次,这个需要画个图就明白了。函数自己调用了自己,说明是递归函数。递归函数要观察结束条件(n 2则退出),除此之外,每次调用会产生两次新的调用。
rand函数也是调用dos的时钟,进行的伪随机函数。你也可以使用时钟来模拟随机函数。
函数的地址是在代码空间中,在编译时就分配好了。
因为在你的代码中,调用的是两个不同的函数,它们都在被分配给自己的堆栈空间完成指定操作。至于内容相同地址就要相同,在c语言中是没有这个说法的。
对指针本身的地址增加一个int的偏移,但是函数返回时,指针本身的修改被丢弃,所以每次结果一致。使用void prt(int*x,int*y,int*z)这样的接口,指针本身不变更不可保存,但是指针指向的值的变化会被记录下来的。
要么你短点调试,要么你代码贴上来,要么你分析一下你的代码,跟着程序分析一下过程,要么就是程序运行太快调用了你没看出来,要么就是你的程序还没有运行到第二次调用就已经结束了。。
采纳率:72% 来自团队:百度与你同在 擅长: 编程语言 理工学科 其他编程语言 电脑/网络 教育/科学 其他回答 返回 指针吧,一个函数只能有一个返回值。指针可以返回多个。
rand()产生的是伪随机数字,每次执行时是相同的;若要不同,你可以采用用函数获取当前时间来产生一个数初始化它。提供给你一个:这样做每次的产生的随机数就不再是一样的了。
int fun(){int a;srand(time(NULL));a=rand()%1234;//改这个数的范围可能有点不一样,但是也随机不到哪里去。
其实函数rand生成的是伪随机数,既然是伪随机数,那么它产生的数字就是一定的,只不过没有规律。
rand()是不能产生真正的随机数的。即使不能产生真正的随机数,也要大概接近。而rand()好象每次的随机都一样。之所以rand()每次的随机数都一样是因为rand()函数使用不正确。
利用srand((unsigned int)(time(NULL))是一种方法,因为每一次运行程序的时间是不同的。在C语言里所提供的随机数发生器的用法:现在的C编译器都提供了一个基于ANSI标准的伪随机数发生器函数,用来生成随机数。