我的程序編譯時出現任何錯誤,但它不起作用(分段錯誤)。什麼是錯誤?函數修改外部變量
A.H
extern int k;
extern int j;
char funk(char *str[], int i);
變交流
#include "a.h"
int k=0;
int j=0;
char funk(char *str[], int i) {
if (str[k][j] == '\0' && k < i) {
k++;
j = 0;
}
return str[k][j++];
}
b.c
#include <stdio.h>
#include "a.h"
int main(int argc, char *argv[])
{
char c;
while (c = funk(argv, argc))
printf("%c", c);
return 0;
}
請不要告訴我:'a.h','a.c'和'b.c'是你的文件名?你是否也在通過stackoverflow的方式失去了你的'main()'函數? – Rizier123 2014-12-13 16:26:22
'k usr2564301 2014-12-13 16:31:08
嗨@hrlinc,如果有任何答案已解決您的問題,請考慮通過點擊複選標記來接受它。這向更廣泛的社區表明,您已經找到了解決方案,併爲答覆者和您自己提供了一些聲譽。 – 2501 2014-12-27 14:28:02