C语言问题 有以下程序: #include<stdio.h> int f(int m) { static int n=0; 求详解
有以下程序:#include<stdio.h>intf(intm){staticintn=0;n+=m;returnn;}voidmain(){intn=0;printf...
有以下程序:
#include<stdio.h>
int f(int m)
{ static int n=0;
n+=m;
return n;
}
void main()
{ int n=0;
printf(“%d,”,f(++n));
printf(“%d\n”,f(n++));
}
程序运行后的输出结果是 A
A)1,2 B)1,1 C) 2,3 D) 3,3 展开
#include<stdio.h>
int f(int m)
{ static int n=0;
n+=m;
return n;
}
void main()
{ int n=0;
printf(“%d,”,f(++n));
printf(“%d\n”,f(n++));
}
程序运行后的输出结果是 A
A)1,2 B)1,1 C) 2,3 D) 3,3 展开
4个回答
展开全部
更多追问追答
追问
有点明白了,还是有点小问题,void main()中的n是不是和int f(int m)中的n不同呢?
追答
当然是不同的两个变量n
它们的定义分别出现在两个函数体中,所以,是不同的!
#include
int f(int m)
{
static int n=0; //这是子函数中的定义
。。
}
void main()
{
int n=0; //这是主函数中的定义
。。
}
展开全部
这题主要考++n和n++的区如亏别
++n:耐橡毁将n的值+1后作为表达式的昌备值
n++:将n的值作为表达式的值后n自加1
++n:耐橡毁将n的值+1后作为表达式的昌备值
n++:将n的值作为表达式的值后n自加1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int f(int m)
{ static int n=0;
n+=m;
return n;
}函数中的态梁n是static类型祥闭掘 值是保存上次运行的谨核值
{ static int n=0;
n+=m;
return n;
}函数中的态梁n是static类型祥闭掘 值是保存上次运行的谨核值
追问
void main()中的 n也是静态变量吗
追答
不是啊 void main中的n不是静态变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询