学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
 16 12
发新话题
打印

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

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

学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;
}

但是实现不了目的 谁能帮帮我?

TOP

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

TOP

int evaluate(int a)// 形参a ,函数私有变量;全局变量a在函数内部被屏蔽。
GIS
Geographic Information System
你在哪里?——》你的坐标?

TOP

引用:
以下是引用 caaw 在 2008-4-24 20:57 的发言:

问题一: 按数字键盘附近的"Pause/Break键"
问题二:不知道什么意思...
问题一:  我是让程序能实现 按 esc 退出...
问题二:  就是自己写个函数 重新定义一下 a的值

TOP

引用:
以下是引用 now 在 2008-4-24 20:58 的发言:

int evaluate(int a)// 形参a ,函数私有变量;全局变量a在函数内部被屏蔽。
汗 太深奥了 ....我不明白

TOP

其实已经实现了啊,只是你没有接收函数的返回值而已;
另外,值传递时,形参和实参用的是不同的内存空间,也就不能影响其值了!~
#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;
}

[ 本帖最后由 peswe 于 2008-4-24 21:23 编辑 ]
C斗士~~~fighting!!!!

TOP

引用:
以下是引用 peswe 在 2008-4-24 21:19 的发言:

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

TOP

return 返回值只有一个
  怎么定义多个呢?

TOP

每一个函数均可有一个返回值或没有;
GIS
Geographic Information System
你在哪里?——》你的坐标?

TOP

建议LZ看一下书中关于变量作用域的描述。
GIS
Geographic Information System
你在哪里?——》你的坐标?

TOP

 16 12
发新话题