我的程序编译时出现任何错误,但它不起作用(分段错误)。什么是错误?函数修改外部变量
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