**全局变量&局部变量**

全局变量&局部变量

#include <stdio.h> //<>所表示的头文件,属于系统包含 #include "max.h" //""所表示的头文件,属于用户自己定义

#include <stdio.h> //<>所表示的头文件,属于系统包含 //#include "max.h" //""所表示的头文件,属于用户自己定义

int g_a=1000; //全局变量,从定义的地方开始,到文件结束 ,所包含的函数都可以调用

int main() //有且仅有一个,也成为入口函数

{ int m=100; //局部变量

prit(m); printf("%d\n",m);

printf("g_a=%d\n",g_a);

g_a +=100;

printf("g_a=%d\n",g_a);

return 0;

}

void prit(int a) //局部变量,当函数调用时,才开始定义变量

{

int n=10; //局部变量,当函数调用时,才开始定义变量

printf("prit_a%d\n",a);

printf("prit_n%d\n",n);

g_a += 200;

printf("g_a=%d\n",g_a);

}

声明变量:

声名变量,不开辟空间,声明可以改变作用域

习题展示

#include <stdio.h>
#include <stdlib.h>
/*
编写一个程序,在一个4*4的矩阵中随机填入0和1;打印该矩阵,找到具有
最多 1 的行和列。 
程序解析;需要去判断那一行的相同数字最多,所以需要在循环中去进行判断,还有就是输出数组的下标 
*/ 
int main()
{
    int arr[4][4]={0};
    int i,j,column,row;
    
    for(i=0;i<4;i++)
        for(j=0;j<4;j++)
        {
            arr[i][j]=rand()%2;//输入0~1的随机数 
        }
    for(i=0;i<4;i++)
    {
        for(j=0;j<4;j++)
        {
            printf("%d ",arr[i][j]);
        }
    printf("\n");
    }
    int max=0;
    for(i=0;i<4;i++)
    {
        int con=0;
        for(j=0;j<4;j++)
        {
            if(arr[i][j]==1)  //这个for循环是判断哪一行里面的1最多,然后输出行的下标 
            con++;
            if(con>max)
            {
                max=con;
                column=i;
                }    
        }
    }
    int max1=0;
    for(j=0;j<4;j++)
    {
        int con=0;
        for(i=0;i<4;i++)
        {
            if(arr[i][j]==1)//同理,这里我们把原本的列(j)变成了行,然后判断1,输出下标 
            con++;
            if(con>max1)
            {
                max1=con;
                row=j;
                }    
        }
    }
    printf("column=%d\nrow=%d\n",column,row);


        
        
    return 0;
}

代码原图及运行结果如下图所示:

 

 

 因为而二维数组在定义时不能使用变量去定义,所以我定义初始是4行4列来运行的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值