国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

C語言中全局數組和局部數組,的問題

2019-11-02 15:21:54
字體:
來源:轉載
供稿:網友

 今天同學遇到一個在C語言中全局數組和局部數組的問題,卡了許久,我也沒有第一時間看出問題,現在把問題梳理一下,并給出解決方案。

  問題描述:

  在全局聲明的數組與在局部聲明的數組有著不同的效果。

  首先來看一個程序:

  代碼如下:

  #include <stdio.h>

  #include <stdlib.h>

  #def

搞笑內涵圖[www.62-6.com/1/nahantu/]
ine MAX 10

  char a[MAX];

  int main()

  {

  int i;

  char b[MAX];

  char *c=(char *)malloc(MAX * sizeof(char));

  printf(" Array a: ");

  for(i=0;i<MAX;i++)

  printf("%d ",a[i]);

  printf(" Array b: ");

  for(i=0;i<MAX;i++)

  printf("%d ",b[i]);

  printf(" Array c: ");

  for(i=0;i<MAX;i++)

  printf("%d ",c[i]);

  printf(" Done");

  free(c);

  return 1;

  }

  編譯運行結果:

  

C語言中全局數組和局部數組的問題 電腦高手

  程序主要功能是打印字符數組的Ascii碼。可以發現全局數組a和動態生成的數組c有著相同的結果,而局部聲明的數組b確被分配了隨機的數值,也許這就是問題的所在。

  解決方案:

  代碼如下:

  #include <stdio.h>

  #include <stdlib.h>

  #define MAX 10

  char a[MAX]={0};

  int main()

  {

  int i;

  char b[MAX]={0};

  char *c=(char *)malloc(MAX * sizeof(char));

  printf(" Array a: ");

  for(i=0;i<MAX;i++)

  printf("%d ",a[i]);

  printf(" Array b: ");

  for(i=0;i<MAX;i++)

  printf("%d ",b[i]);

  printf(" Array c: ");

  for(i=0;i<MAX;i++)

  printf("%d ",c[i]);

  printf(" Done");

  free(c);

  return 1;

  }

  運行結果:

  

C語言中全局數組和局部數組的問題

  在數組的初始化中,假設初始化的數值個數小于數組的大小,則全部用0來填充。這里通過初始化一個值,就可以給數組一個確定的結果。

  (在不同系統和不同的編譯器可能會出現不同的結果)

  還有一個小問題就是C語言中空格的問題,看下面的程序。

  代碼如下:

  #include <stdio.h>

  #include <stdlib.h>

  #define MAX 10

  int main()

  {

  int i;

  char b[MAX]={0};

  gets(b);

  printf(" Array b: ");

  for(i=0;i<MAX;i++)

  printf("%d ",b[i]);

  printf(" Done");

  return 1;

  }

  

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 崇礼县| 眉山市| 永平县| 嵊州市| 襄垣县| 肇源县| 息烽县| 德庆县| 犍为县| 二连浩特市| 千阳县| 安陆市| 同心县| 沁源县| 华阴市| 彰化市| 宁明县| 阜城县| 定安县| 黄平县| 五原县| 滨海县| 甘孜| 泊头市| 凤城市| 龙陵县| 郴州市| 左权县| 东丽区| 东港市| 西吉县| 玉林市| 确山县| 拉萨市| 渝北区| 桓台县| 梨树县| 黑河市| 桑植县| 当雄县| 中西区|