Possible Duplicate:
Learning C by K&R, error when trying to compile programs from book with arrays and function callsपिछले घोषणा सी
ब्रायन डब्ल्यू Kernighan और डेनिस एम रिची द्वारा सी प्रोग्रामिंग भाषा सीखने जबकि में यहाँ था, मैं में खंड 1.9 चरित्र सरणी उदाहरण की कोशिश की। गया था यहाँ 'getline' के पिछले घोषणा: यहाँ कोड हैं:
- त्रुटि: परस्पर विरोधी 'getline'
- त्रुटि के लिए प्रकार
/* read a set of text lines and print the longest */ #include <stdio.h> #define MAXLINE 1000 /* maximum input line length */ /* declare functions: getline() and copy() */ int getline(char line[], int maxline); void copy(char to[], char from[]); /* getline: read a line into array "s", return length */ int getline(char s[], int lim) { int c, i; for (i=0; i < lim-1 && (c=getchar())!=EOF && c!='\n'; ++i) s[i] = c; if (c == "\n"){ s[i] = c; ++i; } s[i] = '\0'; /* the null character whose value is 0 */ return i; } /* copy: copy 'from' into 'to'; assume to is big enough */ /* the return type of copy is "void" -- no value is returned */ void copy(char to[], char from[]) { int i; i = 0; while ((to[i] = from[i]) != '\0') /* terminated with a \0 */ ++i; } /* print the longest input line */ int main() { int len; /* current line length */ int max; /* maximum length seen so far */ char line[MAXLINE]; /* current input line */ char longest[MAXLINE]; /* longest line saved here */ max = 0; while ((len = getline(line, MAXLINE)) > 0) if (len > max) { max = len; copy(longest, line); } if (max>0) /* there was a line */ printf("%s", longest); return 0; }
दो मुख्य त्रुटियां नहीं हैं
पूर्ण त्रुटि सूची यहां है:
/Users/C/Codes/Ritchie/array_char.c:8: error: conflicting types for ‘getline’ /usr/include/stdio.h:449: error: previous declaration of ‘getline’ was here /Users/C/Codes/Ritchie/array_char.c:13: error: conflicting types for ‘getline’ /usr/include/stdio.h:449: error: previous declaration of ‘getline’ was here /Users/C/Codes/Ritchie/array_char.c: In function ‘getline’: /Users//C/Codes/Ritchie/array_char.c:17: warning: comparison between pointer and integer /Users/C/Codes/Ritchie/array_char.c:17: warning: comparison with string literal results in unspecified behavior
मुझे यकीन नहीं है कि क्या गलत हुआ, क्योंकि यह पुस्तक से बिल्कुल वही कोड है। शायद शुरुआत में कार्यों की घोषणा:
int getline(char line[], int maxline); void copy(char to[], char from[]);
समस्याग्रस्त है? धन्यवाद!
कृपया वास्तविक त्रुटि संदेश पोस्ट करें (पैराफ्रेश नहीं करें) – CrazyCasta
क्या यहां सबकुछ कठिन तरीके से करने का कोई कारण है, या आप इसके बजाय 'fgets' और' strcpy' का उपयोग कर सकते हैं? –