編程小白C語言 結構體數組2

題目要求

運行下列程序,輸出結果是             

struct  contry

{

  int  num;

  char  name[20];

}x[5]={1,"China",2,"USA",3,"France",4,"England",5,"Spanish"};

int main()

{

  int i;

  for  (i=3;i<5;i++)

      printf("%d%c",x[i].num,x[i].name[0]);

}

 思路分析

 咋一看沒什麼難度,這不是和之前一題一樣的麼,畫個表一下子就知道了

x 0 1 2 3 4
  China USA France England Spanish

然後加一個for循環,i=3,接着i=4,             

i=5不符合,退出for循環

但是!!!!!注意注意注意!!!!

慢點看一眼,最後輸出的是 %c,x[i].name[0],驚不驚喜?意不意外?  這個是選擇題,然後填4England5Spanish,就錯了

%c是打印一個字符,x[i].name[0]是取第一個字母,也就是England的E,Spanish的S

最後輸出應該是 4E5S

代碼演示 

#include<stdio.h>
struct  contry
{
	int  num;
	char  name[20];
}x[5]={1,"China",2,"USA",3,"France",4,"England",5,"Spanish"};
int main()
{
	int i;
	for  (i=3;i<5;i++)
	printf("%d%c",x[i].num,x[i].name[0]);
	return 0;
}

查看結果


輸出結果 爲4England5Spanish  是什麼代碼呢

#include<stdio.h>
struct  contry
{
	int  num;
	char  name[20];
}x[5]={1,"China",2,"USA",3,"France",4,"England",5,"Spanish"};
int main()
{
	int i;
	for  (i=3;i<5;i++)
	printf("%d%s",x[i].num,x[i].name); //就只要改成%s,刪除name[0]中的[0] 
	return 0;
}

查看結果

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章