在C中访问字符串数组的第一个元素

时间:2016-11-20 12:22:05

标签: c arrays string

这可能是一个新手问题,但这是我的问题:

我想声明一个字符串数组,但是当我访问第一个元素时,其他元素会与它连接。

#include <stdio.h>
int main(){
    char words[2][3] = {"foo", "bar"};
    printf("%s\n", words[0]); // I want to print foo
    printf("%s\n", words[1]); // I want to print bar
}

哪个输出

foobar
bar

虽然我在期待

foo
bar

有人可以解释一下:

  1. 刚刚发生了什么?
  2. 我如何得到我期待的行为?

1 个答案:

答案 0 :(得分:10)

您的数组.div-g:hover { text-align: center; cursor: pointer; } .div-hidden { text-anchor: middle; text-align: center; font-size: .5rem; display: inline-block; position: center; } .div-hidden-rect { fill: $whiteblue; opacity: .96; } 没有足够的空间用于字符串末尾的空字节,当您尝试将元素打印为C字符串时,它会产生undefined behaviour(使用{{ 1}})。增加数组大小:

String responseData = "";  // HTML data
Document doc = Jsoup.parse(responseData);
Elements images = doc.select("img");
// Elements pngImages = doc.select("img[src$=.png]");
// To parse specific image format in this case png
for(Element image : images){
   // Do what ever you wanted to do
}