【发布时间】:2015-08-27 20:17:17
【问题描述】:
我知道我应该把 '/o' 放在字符数组的末尾,但是 当我想打印“printf ("%s\n", kk);”时,它给出“abcdepqrst”。为什么会这样? 这是我正在执行的程序。
#include<stdio.h>
int main()
{
char kk[]={'a','b','c','d','e'};
char s[]="pqrst";
printf("%s\n",s);
printf("%s\n",kk);
}
输出:
pqrst
abcdepqrst
我尝试通过在此处的数组“kk”之前声明数组“s”来颠倒声明数组的顺序,ideone link,但我仍然得到相同的输出。我认为这与 ideone 如何为变量分配内存有关。
#include<stdio.h>
int main()
{
char s[]="pqrst";
char kk[]={'a','b','c','d','e'};
printf("%s\n",s);
printf("%s\n",kk);
}
输出:
pqrst
abcdepqrst
【问题讨论】:
标签: c arrays memory data-segment