参考答案和解析
正确答案:B
结构体成员的引用;s[0].a=1,s[1].b=5,所以结果为6
更多“下面程序运行后的输出结果是( )。struct abc{int a,b,c;}main(){struct abc s[2]={{1,2,3},{4,5,6 ”相关问题
  • 第1题:

    下面程序运行后的输出结果是______。 struct abc { int a,b,c; } main() { struct abc s[2]={{1,2,3},{4,5,6}}; int t=-s[0].a+s[1].b; printf("%d\n",t); }

    A.5

    B.6

    C.7

    D.8


    正确答案:B
    解析:在main函数中定义了一个structabc类型的数组,同时分别利用{1,2,3}及{4,5,6}对数组中两个元素进行初始化。在该结构体,依次对其中的a,b,c三个变量进行初始化。故s[0].a=1,s[1].b=5,所以本题输出为6。

  • 第2题:

    下面程序运行后的输出结果是______。 struct abc { int a,b,c; } main() { struct abc s[2]={{1,2,3},{4,5,6}}; int t=s[0].a+s[1].b; printf("%d\n",t); }

    A.5

    B.6

    C.7

    D.8


    正确答案:B
    解析:在main函数中定义了一个structabc类型的数组,同时分别利用{12,3}及{4,5,6}对数组中两个元素进行初始化。在该结构体,依次对其中的a,b,c三个变量进行初始化。故s[0].a=1,s[1].b=5,所以本题输出为6。

  • 第3题:

    下面程序的输出结果是includeincludemain(){char*p1="abc",*p2="ABC",str[

    下面程序的输出结果是 #include<stdio.h> #include<string.h> main() { char*p1="abc",*p2="ABC",str[50]="xyz"; strcpy(str+2,streat(p1,p2)); printf("%s\n",str);}

    A.xyzabcABC

    B.zabcABC

    C.xyabcABC

    D.yzabcABC


    正确答案:C
    解析:本题考查的重点是拷贝字符串——使用strcpy()函数,该函数的调用方式是:strcpy(字符数组,字符串),其中“字符串”可以是字符串常量,也可以是字符数组。函数的功能是:将“字符串”完整地复制到“字符数组”中,字符数组中原有的内容被覆盖。使用该函数时注意:①字符数组必须定义得足够大,以便容纳复制过来的字符串。复制时,连同结束标志“\0”一起复制;②不能用赋值运算符“=”将一个字符串直接赋值给一个字符数组,只能用strcpy()函数处理。另外,本题还考查连接字符串的strcat()函数,其调用方式是:strcat(字符数组,字符串)。功能是把“字符串”连接到“字符数组”中的字符串尾端,并存储于“字符数组”中。“字符数组”中原来的结束标志,被“字符串”的第一个字符覆盖,而“字符串”在操作中未被修改。使用该函数时注意:①由于没有边界检查,编程者要注意保证“字符数组”定义得足够大,以便容纳连接后的目标字符串;否则,会因长度不够而产生问题;②连接前两个字符串都有结束标志“\0”,连接后“字符数组”中存储的字符串的结束标志“\0”被舍弃,只在目标串的最后保留一个“\0”。

  • 第4题:

    下面程序运行后的输出结果是_____。 struct abc { int a,b,c; } main() { struct abc s[2]={{1,2,3},{4,5,6}}; int t=s[0].a+s[1].b; printf("%d\n",t); }

    A.5

    B.6

    C.7

    D.8


    正确答案:B
    解析:在main函数中定义了一个structabc类型的数组,同时分别利用{1,2,3}及{4,5,6}对数组中两个元素进行初始化。在该结构体,依次对其中的a,b,c三个变量进行初始化。故s[0].a=1,s[1].b=5,所以本题输出为6。

  • 第5题:

    下面程序的输出结果是includeincludemain(){char *p1="abc",*p2="ABC",str

    下面程序的输出结果是 #include<stdio.h> #include<string.h> main() { char *p1="abc",*p2="ABC",str[50]="xyz"; strcpy(str+2,strcat(p1,p2)); printf("%s\n",str);}

    A.xyzabcABC

    B.zabcABC

    C.xyabcABC

    D.yzabcABC


    正确答案:C
    解析:本题考查的重点是拷贝字符串——使用strcpy()函数,该函数的调用方式是:strcpy(字符数组,字符串)其中“字符串”可以是字符串常量,也可以是字符数组。函数的功能是:将“字符串”完整地复制到“字符数组”中,字符数组中原有内容被覆盖。使用该函数时注意:①字符数组必须定义得足够大,以便容纳复制过来的字符串。复制时,连同结束标志‘\0’一起复制。②不能用赋值运算符“=”将一个字符串直接赋值给一个字符数组,只能用strcpy()函数来处理。另外,本题还考查连接字符串的strcat()函数,其调用方式是:strcat(字符数组,字符串)功能是把“字符串”连接到“字符数组”中的字符串尾端,并存储于“字符数组”中。“字符数组”中原来的结束标志,被“字符串”的第一个字符覆盖,而“字符串”在操作中未被修改。使用该函数时注意:①由于没有边界检查,编程者要注意保证“字符数组”定义得足够大,以便容纳连接后的目标字符串;否则,会因长度不够而产生问题。③连接前两个字符串都有结束标志‘\0’,连接后“字符数组”中存储的字符串的结束标志‘\0’被舍弃,只在目标串的最后保留一个‘\0’。