鱼C论坛

 找回密码
 立即注册
查看: 1883|回复: 4

关于 带你学C带你装13第一季 S1E30 奇怪的地方

[复制链接]
发表于 2017-1-18 11:00:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Sboy 于 2017-1-18 16:14 编辑

S1E30   函数指针和指针函数  



最下面例子  根据 输入公式  计算 结果   

当输入  5-+    回车结果 是     5 - 134513251

    输入  5+-  回车结果是       5 + 134513251

请问   134513251  怎么来的   


代码:

  #include <stdio.h>

       int add(int x,int y);
       int sub(int x1,int y1);
       int calc(int (*p)(int a,int b),int c, int d);
       int (*choice(char op))(int,int);

       int add(int x,int y)
       {
        return x+y;
       }

      int sub(int x1, int y1)
      {
         return x1-y1 ;
      }

      int calc(int (*p)(int a,int b),int c,int d)
      {
       return (*p)(c,d);
      }

      int (*choice(char op)) (int ,int)
      {
              switch(op)

             {
                     case '+':return add;
                     case '-':return sub;
              }
      }


int main()
{
        int n1;
        int n2;
        char op;
        int (*p)(int,int);

        printf("输入计算公式(如:1+3):");
        putchar('\n');
        scanf("%d%c%d",&n1,&op,&n2);

        p=choice(op);
        printf("%d %c %d= %d\n",n1,op,n2,calc(p,n1,n2));
        return 0;
}
11.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-1-18 13:31:24 | 显示全部楼层
调试吗

因为你输入 5-+
scanf赋值到 op变量后终止,n2并没有赋值,也没有初始化
无标题.png 无标题1.png 无标题2.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-1-18 14:02:55 | 显示全部楼层
本帖最后由 Sboy 于 2017-1-18 14:08 编辑
人造人 发表于 2017-1-18 13:31
调试吗

因为你输入 5-+


嗯      n2故意没有输入值   

那这个  134513251 代表什么呢 怎么出来的呢    <人鱼大神.h>

本银纯 彩笔   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-1-18 14:20:31 | 显示全部楼层
Sboy 发表于 2017-1-18 14:02
嗯      n2故意没有输入值   

那这个  134513251 代表什么呢 怎么出来的呢   

可以看到没有初始化,n2就是 0xcccccccc
0xcccccccc 就是-858993460
无标题.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-1-18 14:42:05 | 显示全部楼层
人造人 发表于 2017-1-18 14:20
可以看到没有初始化,n2就是 0xcccccccc
0xcccccccc 就是-858993460

get

多谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-27 19:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表