当前位置: 代码迷 >> C语言 >> 菜菜鸟求助:白痴问题....
  详细解决方案

菜菜鸟求助:白痴问题....

热度:230   发布时间:2008-04-24 20:47:57.0
菜菜鸟求助:白痴问题....
学C一个星期了
  上课的速度太快 基础没打好  又来新的东西

  有点消化不良...

  请教大家二个问题

  问题一:如果在程序运行的时候 实现按esc键 程序停止运行
  问题二:1.首先定义int a=10   2.然后写一个函数模块(模块的作用就是把a的值变为0)  3.调用函数模块把a的值变为0
  
  例子:
        #include<stdio.h>
#include<math.h>
int evaluate(int a);
int a;
int main()
{
    a=5;
    printf("a=%d\n",a);
    evaluate(a);
    printf("a=%d\n",a);

}

int evaluate(int a)
{
    a=10;
    printf("赋值成功\n");
    return a;
}

但是实现不了目的 谁能帮帮我?
搜索更多相关的解决方案: 菜菜  

----------------解决方案--------------------------------------------------------
问题一: 按数字键盘附近的"Pause/Break键"
问题二:不知道什么意思...
----------------解决方案--------------------------------------------------------
int evaluate(int a)// 形参a ,函数私有变量;全局变量a在函数内部被屏蔽。
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]caaw[/un] 在 2008-4-24 20:57 的发言:[/bo]

问题一: 按数字键盘附近的"Pause/Break键"
问题二:不知道什么意思...



问题一:  我是让程序能实现 按 esc 退出...
问题二:  就是自己写个函数 重新定义一下 a的值
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]now[/un] 在 2008-4-24 20:58 的发言:[/bo]

int evaluate(int a)// 形参a ,函数私有变量;全局变量a在函数内部被屏蔽。


汗 太深奥了 ....我不明白
----------------解决方案--------------------------------------------------------
其实已经实现了啊,只是你没有接收函数的返回值而已;
另外,值传递时,形参和实参用的是不同的内存空间,也就不能影响其值了!~
#include<stdio.h>
#include<math.h>
int evaluate(int a);
int a;
int main()
{
    a=5;
    printf("a=%d\n",a);
    a=evaluate(a);         //这里改下就可以了
    printf("a=%d\n",a);
    return 0;

}

int evaluate(int a)
{
    a=10;
    printf("赋值成功\n");
    return a;
}

[[it] 本帖最后由 peswe 于 2008-4-24 21:23 编辑 [/it]]
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]peswe[/un] 在 2008-4-24 21:19 的发言:[/bo]

其实已经实现了啊,只是你没有接收函数的返回值而已;
另外,值传递时,形参和实参用的是不同的内存空间,也就不能影响其值了!~
#include
#include
int evaluate(int a);
int a;
int main()
{
    a=5;
    printf("a=%d\n",a); ...


多谢了 我先试试 看是什么意思
----------------解决方案--------------------------------------------------------
return 返回值只有一个
  怎么定义多个呢?
----------------解决方案--------------------------------------------------------
每一个函数均可有一个返回值或没有;
----------------解决方案--------------------------------------------------------
建议LZ看一下书中关于变量作用域的描述。
----------------解决方案--------------------------------------------------------
  相关解决方案