【发布时间】:2016-02-28 06:59:48
【问题描述】:
#include<>
int calc(int,int,char);
void main()
{
int a,b;
char c;
printf("enter 2 nos");
scanf("%d%d",&a,&b);
printf("enter op");
scanf("%s",&c);
printf("the ans is %d\n",calc(a,b,c));
}
int calc(int a,int b,char c)
{
int ans;
switch(c)
{
case'+':ans=a+b;break;
case'-':ans=a-b;break;
}
return ans;
}
为什么这个程序将输出作为 b...当我将 a、b 和 c 作为全局变量时它可以工作...如果我希望它们作为局部变量我应该做什么改变...使用函数
【问题讨论】:
-
请参阅 What should
main()return in C and C++ 了解为什么void main()通常不是一个好主意。