首页 > 试题广场 >

执行以下代码段(程序已包含所有必需的头文件)会输出什么结果。

[单选题]
执行以下代码段(程序已包含所有必需的头文件)会输出什么结果()
    char a[2][3];
    strcpy(a[0], "ab");
    strcpy(a[1], "cd");
    a[0][2] = ' ';
    printf("%s", a);

  • ab
  • abcd
  • ab cd
  • 编译出错
printf搭配%s输出字符串,遇到\0才结束。
    char a[2][3];        //开辟一个空间
    strcpy(a[0], "ab");  //此时a的内容为ab'\0'___
    strcpy(a[1], "cd");  //此时a的内容为ab'\0'cd'\0'
    a[0][2] = ' ';  //此时a的内容为ab' 'cd\0
    printf("%s", a);  //遇到\0才结束,所以输出ab cd


发表于 2022-01-20 09:11:38 回复(11)
char a[2][3]; //开辟一个空间     strcpy(a[0], "ab"); //此时a的内容为ab'\0'___     strcpy(a[1], "cd");  //此时a的内容为ab'\0'cd'\0'     a[0][2] = ' ';  //此时a的内容为ab' 'cd\0     printf("%s", a);  //遇到\0才结束,所以输出ab cd
发表于 2022-11-23 20:24:10 回复(0)
char a[2][3]; //开辟一个空间     strcpy(a[0], "ab"); //此时a的内容为ab'\0'___     strcpy(a[1], "cd");  //此时a的内容为ab'\0'cd'\0'     a[0][2] = ' ';  //此时a的内容为ab' 'cd\0     printf("%s", a);  //遇到\0才结束,所以输出ab cd
发表于 2023-10-28 01:33:01 回复(0)
二维数组不就是相当于一维数组中存放的一个字符串数组吗,
strcpy(a[0], "ab");就是相当于char a[] = "ab";自然是把字符串中的末尾的‘\0’加入其中了;
输出的时候遇到'\0'才会停止,自然也就不奇怪了 
发表于 2023-09-01 12:03:15 回复(0)
printf,''%s'',遇到'/0'结束
发表于 2023-02-11 13:54:38 回复(0)
char a[2][3]; //开辟一个空间     strcpy(a[0], "ab"); //此时a的内容为ab'\0'___     strcpy(a[1], "cd");  //此时a的内容为ab'\0'cd'\0'     a[0][2] = ' ';  //此时a的内容为ab' 'cd\0     printf("%s", a);  //遇到\0才结束,所以输出ab cd
发表于 2023-01-07 14:14:07 回复(0)
正好想反了。 什么都不改,直接输出为 :ab 将a[0][2]改了之后,由于没有/0了,因此会输出所有,即 ab cd。 因为printf遇到/0停止输出。
发表于 2022-08-07 23:30:05 回复(0)
在vs2019中,Strcpy会报错,需要改为Strcpy_s
发表于 2022-08-07 12:10:27 回复(2)