学逆向论坛

找回密码
立即注册

只需一步,快速开始

发新帖

386

积分

2

好友

17

主题
发表于 2020-10-25 17:30:24 | 查看: 4011| 回复: 0
本帖最后由 Guido 于 2020-10-27 11:29 编辑

1.全局变量
在函数体之外定义,任何一个函数都可以对其进行调用,但是要注意声明,同时其也可以放在头文件里。调用时需要在其前面加上extern作为声明

逆向学习第13天_全局变量与数组

逆向学习第13天_全局变量与数组

逆向学习第13天_全局变量与数组

逆向学习第13天_全局变量与数组

逆向学习第13天_全局变量与数组

逆向学习第13天_全局变量与数组


2.静态变量
静态变量与全局变量的存储区域相同,但是静态变量只能被本文件中的函数调用,静态变量声明方法需在前面加关键字static

逆向学习第13天_全局变量与数组

逆向学习第13天_全局变量与数组

逆向学习第13天_全局变量与数组

逆向学习第13天_全局变量与数组

逆向学习第13天_全局变量与数组

逆向学习第13天_全局变量与数组

3.定义一个字符串数组,调用scanf_s(%s)输入一个一串文字:
例如:char s[32];
          printf("请输入一些文字”);
          scanf_s("%s",&s,sizeof(s)-1);
循环打印每个数组元素的内容,一真到结尾符号’\0'结束;
比如:如果你输入了"abcdef",就循环6次到结尾符号时结束循环;
//定义一个字符串数组,调用scanf_s(%s)输入一个一串文字:
//例如:char s[32];
//printf("请输入一些文字”);
//scanf_s("%s",&s, sizeof(s) - 1);
//循环打印每个数组元素的内容,一真到结尾符号’\0'结束;
//比如:如果你输入了"abcdef",就循环6次到结尾符号时结束循环
#include<stdio.h>
int main()
{
        char s[32];
        puts("请输入一些文字");
        scanf_s("%s", s, sizeof(s) - 1);//sizeof(s)-1   是防止输入的字符串溢出,因为定义了s[32]只能存储31个字符,最后一个是‘\0’
        printf("%s", s);
        return 0;
}

逆向学习第13天_全局变量与数组

逆向学习第13天_全局变量与数组
//定义一个字符串数组,调用scanf_s(%s)输入一个一串文字:
//例如:char s[32];
//printf("请输入一些文字”);
//scanf_s("%s",&s, sizeof(s) - 1);
//循环打印每个数组元素的内容,一真到结尾符号’\0'结束;
//比如:如果你输入了"abcdef",就循环6次到结尾符号时结束循环
#include<stdio.h>
int main()
{
        int i = 0;
        char s[32];
        puts("请输入一些文字");
        scanf_s("%s", s, sizeof(s) - 1);//sizeof(s)-1   是防止输入的字符串溢出,因为定义了s[32]只能存储31个字符,最后一个是‘\0’
        /*printf("%s", s);*/
        while (s[i])
        {
                putchar(s[i++]);
        }
        return 0;
}

逆向学习第13天_全局变量与数组

逆向学习第13天_全局变量与数组

逆向学习第13天_全局变量与数组

逆向学习第13天_全局变量与数组

4.用多种方法实现数组字符串的倒序输出
//反向打印输入的字符数组
#include<stdio.h>
int main()
{
        int i = 0;
        char s[32];
        puts("请输入一些文字");
        scanf_s("%s", s, sizeof(s) - 1);
        while (s[i])        //首先应该计算有多少个字符除外,此时计算的i,包括\0
        {
                i++;
        }
        while (i>=0)
        {
                putchar(s[--i]);
        }
        return 0;
}

逆向学习第13天_全局变量与数组

逆向学习第13天_全局变量与数组

逆向学习第13天_全局变量与数组

逆向学习第13天_全局变量与数组

5.在数组中存储一些数据,以-1作为结尾标志,计算出所存储数据的总和以及平均值。
//在数组中存储一些数据,以-1作为结尾标志,计算出所存储数据的总和以及平均值。
//输入一个数据,就需要按一次空格
#include<stdio.h>
int main()
{
    int s[20];
        int i = -1;
        int sum=0;
        int ave;
        do
        {
                i++;
                scanf_s("%d", &s[i]);
        } while (s[i] != -1);//do  while  执行了数据的获取
         i = 0;
        while (s[i][i][i] != -1)   //求和
        {
                sum += s[i++];
        }
        ave = sum / (i );    //求平均值
        printf("总合sum=%d\n平均值ave=%d", sum, ave);
        return 0;
}

逆向学习第13天_全局变量与数组

逆向学习第13天_全局变量与数组

6.在数组内实现对数据大小的排列。
//对数组内的元素进行排序
#include<stdio.h>
int main()
{
        int s[10] = { 22,23,12,32,1,17,8,9,4 };
        int i = 0;
        int t = 0;
        while (i<8)                        //首先实现相邻的两个数依次比较,然后把最大的值存在最右端       然后在依次循环实现目标
        {
                if (s[i] > s[i + 1])
                {
                        t = s[i];
                        s[i][i][i] = s[i + 1];
                        s[i + 1] = t;
                }
                i++;
        }
        return 0;
}

逆向学习第13天_全局变量与数组

逆向学习第13天_全局变量与数组

//对数组内的元素进行排序
#include<stdio.h>
int main()
{
        int s[10] = { 22,23,12,32,1,17,8,9,4 };
        int i = 0;
        int j = 8;
        int t = 0;
        for (j;j>1;j--)                           //这个是外层循环
        {
                i = 0;
                while (i < j)                        //首先实现相邻的两个数依次比较,然后把最大的值存在最右端       然后在依次循环实现目标
                {
                        if (s[i] > s[i + 1])
                        {
                                t = s[i];
                                s[i] = s[i + 1];
                                s[i + 1] = t;
                        }
                        i++;
                }
        }
        return 0;
}


逆向学习第13天_全局变量与数组

逆向学习第13天_全局变量与数组


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

小黑屋|手机版|站务邮箱|学逆向论坛 ( 粤ICP备2021023307号 )|网站地图

GMT+8, 2024-4-17 05:05 , Processed in 0.098062 second(s), 41 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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