[英]C Language: char array issues and warnings by eclipse
我剛回到Eclipse上用C進行開發,我遇到了大問題,我不確定如何解決,不記得我以前在開發時遇到過這樣的問題。 無論如何,我將指出2個問題(我的示例在此處易於發布):
#include <stdio.h>
int change_array(char *str, char *a[]) {
a[0] = "changed [0]";
if (fgets(str, 200, stdin) != NULL) {
}
return 0;
}
int main() {
char str[200];
char a[15][200];
change_array(str, a);
printf("a[0]: %s\n", a[0]);
printf("str: %s\n", str);
return 0;
}
問題在這里... int change_array(char *str, char *a[])
的尺寸a
是不確定的,所以它不知道多遠,每步*a
和a
是指向字符數組。 但是,您要傳遞200個字符的數組。 因此,不兼容的類型錯誤。
我相信您的問題會隨着...
int change_array(char *str, char (*a)[200])
在這種情況下, a
是指向200個字符的數組的指針,編譯器現在知道將a
每個索引步進多遠
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.