你好,当然可以实现。不过需要确定计算的起始点。
10年的辉南网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销的优势是能够根据用户设备显示端的尺寸不同,自动调整辉南建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“辉南网站设计”,“辉南网站推广”以来,每个客户项目都认真落实执行。
比如:
1.
int
func(int
m,
int
n)
{
if(n
==
m)
{
return
n;
}
return
n
+
func(m,
n
-
1);
}
你可以输入一个m,
n(m
=
n),算出m到n的和。
这样是可以的:
...
void main()
{
....
int a=0;
funA(a);
...
}
void funA(int a) //...
{
...
funB(a)
...
}
....
main()
{
int result; /*运算的结果*/
printf("欢迎使用我们的计算器:\n");
while(1)
{
token = getchar(); /*载入第一个符号*/
result = low(); /*进行计算*/
if( token == '\n' ) /* 是否一行结束 */
printf( "The answer is : %d\n", result );
else
{
printf( "Unexpected char!");
exit(1); /* 出现了例外的字符 */
}
scanf("%d",result);
}
return 0;
}
printf会先将你要打印的东西压栈在打印,你两次压的是同一个地址,而且第二次压栈后把地址中的信息改变了!另外我在ubuntu10.04下跑了你的程序,首先报错copy函数返回了一个本地变量,将 char str[25];定义为一个全局变量。然后从main定义两个char *接收每次返回的结果。主函数为
char str1[25],str2[25];
memset...
strcpy(str1,copy("str1"));
strcpy(str2,copy("str2"));
printf("%s%s\n",str1,str2);