数组传递,赋值问题。
程序代码:
#include<stdio.h>
#define LEN 8
void SetBit( char bit_array[],unsigned bit_number)
{
int i;
bit_array[bit_number]=1;//运行时,出错,说是内存的问题。是不能这样赋值吗?,还是其它原因?
for(i=0;i<LEN;i++)
{
printf("%d",bit_array[i]);
}
}
int main(void)
{
char arr[LEN];
int i;
int n;
printf("Enter 32 bits(0 and 1):\n");
for(i=0;i<LEN;i++)
{
printf("the %d one:",i+1);
scanf("%d",&arr[i]);
}
printf("whitch bit would you want to set 1?\n");
scanf("%d",&n);
SetBit(arr,n);
return 0;
}
不好意思,昨天写这个问题有点匆忙。
好,我的问题就是,给一个字符型变量符整形值,bit_array[bit_number]=1我感觉就是这句有问题。
应该怎么做。
不管我怎样强制转换,或是用中间变量都有问题。。
[ 本帖最后由 scott_dw 于 2011-9-16 07:21 编辑 ]






