初始化2D字符串数组并打印它

Raf*_*ehl 2 c arrays string initialization multidimensional-array

我正在学习C语言,我正在尝试创建一个创建字符串数组的程序.我现在正在尝试这个:

char str[2][10];
strcpy(str[0], "foo");
strcpy(str[1], "bar");
printf("%d \n",str[0]);
printf("%d \n",str[1]);
Run Code Online (Sandbox Code Playgroud)

但我printf只返回一些数字,我希望它显示foobar.我一直在阅读,我认为它正在显示指向我的字符串的指针.我究竟做错了什么?

Mar*_*evi 6

您正在使用%d用于打印的格式进行打印int.将您的代码修改为:

printf("%s\n", str[0]);
printf("%s\n", str[1]);
Run Code Online (Sandbox Code Playgroud)

有关指定符格式的更多信息,请参阅此链接printf.