首页 > 试题广场 >

执行以下代码段会输出什么结果。() char a[2][3]

[单选题]
执行以下代码段会输出什么结果()
    char a[2][3] = {{'a', 'b', 'c'}, {'1', '\0', '2'}};
    printf("%s", a[0]);

  • a
  • abc
  • abc1
  • abc1\02
首先 输出%s输出一串字符   %s:a[0]就等于输出a b c 1 \0 2  但是字符输出遇到 \0直接结束
发表于 2021-12-11 17:05:07 回复(4)
a[0]代表了以a[0][0]为首的一维数组,也就是将这个char a[2][3]摊成一维数组了,而printf("%s",a[0])就是打印这个字符串数组,打印遇'\0'结束。
发表于 2022-02-27 21:22:33 回复(0)
printf输出字符串时遇到\0停止且不会输出\0。补充:strlen和sizeof也是遇到\0停止,但sizeof会把\0计算在内,而strlen不计算\0。
发表于 2022-02-08 07:49:57 回复(1)
利用%s输出字符串,如果给定的是一个字符串则全部输出。如果待输出的是一个字符数组,那么就根据题目中给定的地址开始向后输出,碰到'\0'结束。
发表于 2022-08-03 17:34:40 回复(0)
s是string的缩写,a[0]误认为是 a b c,基础还是不够牢,要补
发表于 2022-02-28 01:04:41 回复(0)
printf输出字符串,遇到\0停下。
发表于 2022-02-05 19:17:14 回复(0)
数组按行展开,%s 输出遇到 \0 则止。
发表于 2022-12-30 10:34:16 回复(0)
  • %s 表示 输出的是字符串而不是单个字符 (单个字符用%c)
  • printf 输出字符串时 如果遇到了\0 会停止输出
发表于 2022-08-22 15:49:40 回复(0)
不应该是 abc 吗?这个1哪里来的啊?我不理解。
编辑于 2024-01-03 22:02:02 回复(0)
print打印字符串,直至遇见"\0"为止,不是打印字符
发表于 2023-07-03 19:47:25 回复(0)
实际是3行4列数组,每行能存放4个元素,不是三个元素。第0行结尾存放了1。其他解释里都说遇到\0;停止,但\0是存放在第二行
编辑于 2022-07-11 08:19:10 回复(0)
输出字符串时 从所给地址开始输出直到\0停止
发表于 2022-03-13 11:49:36 回复(0)