好吧,我知道这里有另外一个关于"exc_bad_access"的问题,但这似乎与Objective-C和iPhone开发有关,而我的只是常规C.我是C的新手,我几乎完成了我的第一个程序,直到这个错误出现了.我一直试图弄明白这一天,我疯了.任何帮助表示赞赏.越野车功能:
void edit (int i){
char* z;
char* y;
char compare1[] = "on bobbin\b\b\b\b";
char compare2[] = "not on bobbin";
char compare3[] = "have\b\b\b\b\b\b";
char compare4[] = "don't have";
char wrapedit[] = "wrapped";
char haveedit[] = "have";
char editing[9];
FILE *wrappedlist = fopen("../../wrapped", "r+");
FILE *havelist = fopen("../../havelist", "r+");
fseek(wrappedlist, i*14, SEEK_SET);
fseek(havelist, i*11, SEEK_SET);
printf("Edit? (y=yes, n=no)");
fgets(z, 2, stdin);
if ((*z=='y') && (strncmp(haveslist[i], compare4, (size_t)1) == 0)) {
printf("Switch \"don't have\" to \"have\"? (y=yes, n=no)");
fgets(y, 2, stdin); …Run Code Online (Sandbox Code Playgroud) 我正在制作我的第一个C程序,它使用了一个2D数组,代码对我来说似乎很奇怪.首先,为什么我必须在[1] [6]中存储"白色"?我试过[0] [6],但是编译器抱怨并且不会运行但是当我在printf中调用它时,它是[0] [6].此外,当试图在代码[2] [6]中存储"Bl"时,它表示代码的冲突类型.任何帮助将不胜感激,谢谢.
int main (int argc, const char * argv[]) {
for (q=0; q<=457; q++) {
for (w=0; w<=6; w++) {
codes[q][w] = 0;
}
}
char codes[1][6] = {'W','h','i','t','e','\0'};
char codes[2][6] = {'B','l,'\0'};
printf("%c\n", codes[0][0]);
Run Code Online (Sandbox Code Playgroud)