c中数组值未操作自己变了

for(i=0;i {
if(i {
t[7-i]=a[0]%2;
a[0]=a[0]/2;
}
if(i>7)
{
t[23-i]=a[1]%2;
a[1]=a[1]/2;
printf("%d%d\n",23-i,t[23-i]) ;
}
}
k[0]=0;
k[1]=0;
// printf("%d",t[14]);
for(i=0;i {
printf("%d",t[14]);
if(i k[0]=t[i]*pow(2,(5-i))+k[0];
if(i>5)
k[1]=t[i]*pow(2,(11-i))+k[1];
}
printf("%d",t[14]);
t[14]如果是1在if(i>5)
k[1]=t[i]*pow(2,(11-i))+k[1];操作一次之后会变为0图片说明求教有人知道为啥么或是哪里出了问题

2个回答

因为下标越界了。

u013627033
懒儿 嗯。。。就是这个问题。。。我之前定义t[]的时候大小没考虑定义成了t[i]
4 年多之前 回复

程序不完整,看不出来错在哪里。你把代码截屏过来看看。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐