我试图重复一个数组的元素但是陷入无限循环
数组的大小目前是2,我试图再次重复这些元素,使大小为5,例如
样本输出:
char a[]="ED";
试图成功
char a[]="EDEDE";
代码如下
while(sizeof(a)<5)
{
for(i=0;i<2;i++){
a[fk]=a[i];
fk++;}
}
进入无限循环
答案 0 :(得分:0)
使尺寸为5,
任何类型T
的数组都是这样定义的
T a[] = ... some initialiser ...;
或者像这样
T b[42];
无法调整大小(在C中)。
答案 1 :(得分:0)
C11 6.4.5字符串文字(P7):
未指明这些数组是否与它们不同 元素具有适当的值。如果程序试图 修改这样的数组,行为是未定义的。
所以,如果你将a重新分配给其他东西,则没有调整大小,否则它是未定义的行为。