注册 登录
编程论坛 C语言论坛

求助,自学第一天,实在看不出来有什么问题

从入门到放弃 发布于 2021-06-25 22:03, 1873 次点击
int  max(int a,int b);
main()
{
    int x,y,z;
    int max(int a,int b);
    printf("input two numbers:\n");
    scanf("%d%d,&x,&y);
    z=max(x,y);
    printf("maxmum=%d",z);
}

int max(int a,int b)
{
    if(a>b)return a;else return b;
}
2 回复
#2
八画小子2021-06-25 23:35
换一本书自学吧。
#3
apull2021-06-25 23:53
scanf里缺了个引号,max声明1个就可以了

程序代码:

#include <stdio.h>
int  max(int a,int b);
int main()
{
    int x,y,z;
    //int max(int a,int b);
    printf("input two numbers:\n");
    scanf("%d%d",&x,&y); //scanf("%d%d,&x,&y);
    z=max(x,y);
    printf("maxmum=%d",z);
    return 0;
}

int max(int a,int b)
{
    if(a>b)
        return a;
    else
        return b;
}

#4
自由而无用2021-08-13 16:49
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/mman.h>

#define wr_opcode(_op, _val) _op = _val

typedef int(*func)(int, int);

int max(int a, int b)
{
    return a + 1;
}

int main(int argc, char *argv[])
{
    int a = 99, b = 125;
    char *dump;
    dump = mmap(NULL, getpagesize(), PROT_READ | PROT_WRITE | PROT_EXEC,
    MAP_ANONYMOUS | MAP_SHARED , 0 , 0);
    memcpy((void*)dump, max, 18);
   
    /*print max opcode end of 0xc3*/
    //argc = 0;
    //while (argc < 18)
    //    printf("0x%x\n", dump[argc++]);
   
    printf("max = %d\n", max(a, b));
    wr_opcode(dump[15], 26);
    printf("max = %d", ((func)(dump))(a, b));
   
    munmap(dump, 4096);
  
    return 0;
}
1