zoukankan      html  css  js  c++  java
  • 重学C第四节:第一章结束练习

    第四题:进行输出打印

    1 #include <stdio.h>
    2 
    3 void main()
    4 {
    5     printf("*****************************\n");
    6     printf("\tVery good!\t\t\n");
    7     printf("*****************************\n");
    8 }

    第五题:输入a,b,c三个值,输出其中最大者。

     1 #include <stdio.h>
     2 
     3 void main()
     4 {
     5     int max(int x,int y);  //函数的声明
     6     int a,b,c; 
     7     scanf("%d,%d,%d",&a,&b,&c);   //获得输入
     8     printf("%d",max(a,max(b,c)));
     9 }
    10 
    11 int max(int x,int y)
    12 {
    13     return ( x>y ? x : y );
    14 }

    ===========================2012-5-11=============================

     1 ; int __cdecl main(int argc, const char **argv, const char **envp)
     2 _main proc near
     3 
     4 var_C= dword ptr -0Ch
     5 var_8= dword ptr -8
     6 var_4= dword ptr -4
     7 argc= dword ptr  4
     8 argv= dword ptr  8
     9 envp= dword ptr  0Ch
    10 
    11 sub     esp, 0Ch
    12 lea     eax, [esp+0Ch+var_C]
    13 lea     ecx, [esp+0Ch+var_8]
    14 lea     edx, [esp+0Ch+var_4]
    15 push    eax
    16 push    ecx
    17 push    edx
    18 push    offset Format   ; "%d,%d,%d"
    19 call    _scanf
    20 mov     eax, [esp+1Ch+var_C]
    21 mov     ecx, [esp+1Ch+var_8]
    22 push    eax
    23 push    ecx
    24 call    sub_401050
    25 mov     edx, [esp+24h+var_4]
    26 push    eax
    27 push    edx
    28 call    sub_401050
    29 push    eax
    30 push    offset aD       ; "%d \n"
    31 call    _printf
    32 add     esp, 34h
    33 retn
    34 _main endp

    修改为:

     1 ; int __cdecl main(int argc, const char **argv, const char **envp)
     2 _main proc near
     3 
     4 c= dword ptr -0Ch
     5 b= dword ptr -8
     6 a= dword ptr -4
     7 argc= dword ptr  4
     8 argv= dword ptr  8
     9 envp= dword ptr  0Ch
    10 
    11 sub     esp, 0Ch
    12 lea     eax, [esp+0Ch+c]
    13 lea     ecx, [esp+0Ch+b]
    14 lea     edx, [esp+0Ch+a]
    15 push    eax
    16 push    ecx
    17 push    edx
    18 push    offset Format   ; "%d,%d,%d"
    19 call    _scanf
    20 mov     eax, [esp+1Ch+c]
    21 mov     ecx, [esp+1Ch+b]
    22 push    eax
    23 push    ecx
    24 call    func_max
    25 mov     edx, [esp+24h+a]
    26 push    eax
    27 push    edx
    28 call    func_max
    29 push    eax
    30 push    offset aD       ; "%d \n"
    31 call    _printf
    32 add     esp, 34h
    33 retn
    34 _main endp

    这样一来,我们就很容易的看到,程序首先调用了max函数比较b和c的大小,如何再和a比较。

  • 相关阅读:
    Windows10用fiddler抓包Android应用(解决手机设置代理后无法上网,设置只抓app包)
    go语言数据库操作,xorm框架
    go语言数据库操作, gorm框架
    python 多线程 及多线程通信,互斥锁,线程池
    Selenium PageFactory
    VBScript学习笔记
    4种手机自动化测试框架介绍
    Behave + Selenium(Python) ------ (第四篇)
    Behave + Selenium(Python) ------ (第三篇)
    Behave + Selenium(Python) ------ (第二篇)
  • 原文地址:https://www.cnblogs.com/tk091/p/2481394.html
Copyright © 2011-2022 走看看