zoukankan      html  css  js  c++  java
  • 关于C语言中 全局变量与局部变量的初始化

    首先上两段代码

    #include<bits/stdc++.h>//WA
    using namespace std;
    int main()
    {
        int X,Y,n,m,cnt;char s[1005];//若X Y cnt不为全局变量 值不初始化为0
        scanf("%d%d",&n,&m);
        for (int i=1;i<=n;i++)
        {
            scanf("%s",s+1);
            for (int j=1;j<=m;j++)
                if (s[j]=='B') cnt++,X+=i,Y+=j,printf("cnt=%d X=%d Y=%d
    ",cnt,X,Y);
        }
        X/=cnt;Y/=cnt;
        printf("%d %d
    ",X,Y);
        return 0;
    }/*
    #include<bits/stdc++.h>//AC
    using namespace std;
    int X,Y,n,m,cnt;char s[1005];
    int main()
    {
        scanf("%d%d",&n,&m);
        for (int i=1;i<=n;i++)
        {
            scanf("%s",s+1);
            for (int j=1;j<=m;j++)
                if (s[j]=='B') cnt++,X+=i,Y+=j;
        }
        X/=cnt;Y/=cnt;
        printf("%d %d
    ",X,Y);
        return 0;
    }*/

     上面的会WA  下面的AC  ,找了找 ,发现只是定义变量的时候全局和局部的区别而已 

     想交试试的话  题目链接 http://codeforces.com/contest/1028/problem/A

    #include<bits/stdc++.h>
    int v[120][120];
    int main(){
        int t1,t2,t3;
        int n,m;scanf("%d%d",&n,&m);
        int cnt = 0;int flag = 1;
        getchar();//少一个这个读取换行 疯狂WA 噗~~~~
        for(int i=1;i <= n ;i++)
        {
            for(int j =1 ; j<= m; j++)
            {
                v[i][j] = getchar();
                if(v[i][j] == 'B')
                {
                    //printf("sdsdsdsds
    ");
                    if( flag )
                        {t1= i,t2= j;flag =0;}
                    cnt++;
                    //if( cnt == 1) printf("kai %d %d
    ", t1, t2);
                }
            }getchar();
        }//printf("%d %d %d
    ",t1 ,t2 ,cnt );
        if( cnt == 1) printf("%d %d
    ", t1, t2);
        else           
            {
                t3 = int(sqrt(cnt)/2);
                printf("%d %d
    ", t1+t3, t2+t3);
            }    
        return 0;
    }
    插段题外话 自己的代码

      搜了搜博客  发现这个 https://blog.csdn.net/linuxtiger/article/details/26835239

      C++中未初始化全局变量会被编译器自动赋值 0 

       看了下  

     结论是 没啥特殊的技术原因,是标准的硬性要求。 

     有个好点的 代码习惯 , 自己初始化就好了

     

  • 相关阅读:
    函数指针的比较
    C++代码
    C++/STL
    Video Downloader使用总结
    98五笔输入法总结
    优酷url的encode与decode
    Directory类总结
    申请GV以及相关
    不用客户端下载腾讯视频
    选择写作博客的原则
  • 原文地址:https://www.cnblogs.com/163467wyj/p/9758351.html
Copyright © 2011-2022 走看看