查看: 340|回复: 0

[原创图文] 逆向学习第4天_函数积累_分支函数

[复制链接]

15

主题

28

帖子

2

精华

高级会员

Rank: 12Rank: 12Rank: 12

学币
198
荣耀
0
rank
0
违规
0
发表于 2020-10-14 21:33:50 | 显示全部楼层 |阅读模式
本帖最后由 Guido 于 2020-10-15 09:46 编辑

1.sizeof(); 此函数用来取变量及数组所占内存的大小,比如sizeof(int);返回就是4,表示在内存中占了4个人字节。
_count();用来获得数组中的元素,比如int a[10];   z则_countof(a);返回值为10,表示此数组有10个元素,但是实用此函数需要声明#include<stdlib.h>
getchar();获取一个键盘上输入的字符,它的返回值是字符所对应的ascall码值
gets();  在VS中要用gets_s();来代替,其获取键盘中输入的一段字符串,返回值是一个地址,这个地址中存放着刚才输入的字符串。
atoi();把字符串转换成整数型,但是要注意,#include<stdlib.h>       atoi==ascii to int
占位管理  %8d表示显示出8位,右对齐——%-08d表示显示出8位,左对齐,不足八位,左边补0    经常用作打印表格的地方
2.分支函数
if


if
else


if
else if
else if
else


switch
3.循环语句
while
for
4.小作业代码练习
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
        int n;
        int money;
        printf("请输入销售数量:\n");
        scanf("%d", &n);
        money = 20 * n;
        if (n > 100)
                money += 500;
        return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
        int n;
        int money;
        printf("请输入销售数量:\n");
        scanf("%d", &n);
        if (n < 100)
                money = n * 20;
        else if (n < 200)
                money = n * 30;
        else if (n < 300)
                money = n * 40;
        else
                money = n * 50;
                
        return 0;
}
其实这段代码主要是自己单步执行跟踪,分析每一步会执行到哪里。

逆向学习第4天_函数积累_分支函数

逆向学习第4天_函数积累_分支函数

while下面的语句记得用{}括起来。
5.快捷键小技巧
在当前行上边插入一行:Ctrl+Enter——当鼠标位于某一行文字中间时,想在上面插入一行文字,可以用此快捷键,很方便。
在当前行上边插入一行:Ctrl+Shift+Enter——这个是在下面插入一行,可以减少实用鼠标的频率。
移动某一行的位置,向上移动或者向下移动:Alt+Up或Alt+Down——这个感觉很新奇,可以试一试。
6.总结
重点还是要跟入内存看看它的变化,还有就是用单步调试的方法,亲自跟进去分析if分支语句与while循环语句。







温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的最好奖励,还可以获得学币奖励,请尊重作者的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。
学逆向论坛-免费的逆向学习论坛
微信公众号
快速回复 返回顶部 返回列表