פורסם 2007 בספטמבר 3018 שנים #include <conio.h>#include <string.h>int nocis(char,char);void main(){ char str[10],c; int num; gets(str); scanf("%c",c); num=nocis((char)str,c);}int nocis(char str[10],char c){ char *p; int counter=0; p=strchr(str,c); if(p!=NULL){ counter+=1; nocis(*p,c); } return counter;}#include <stdio.h>אלו הן הבעיות:Cpp1.obj : error LNK2001: unresolved external symbol "void __cdecl nocis(char,char)" (?nocis@@YAXDD@Z)Debug/Cpp1.exe : fatal error LNK1120: 1 unresolved externalsError executing link.exe.עזרה בבקשה
פורסם 2007 בספטמבר 3018 שנים ההצהרה שונה מהמימוש.אתה צריך להצהיר שאתה מקבל מערך בפרמטר הראשון(וגם לשלוח מערך, כלומר, לא לבצע את ההמרה לCHAR בMAIN).
פורסם 2007 בספטמבר 3018 שנים מחבר וואלה! רק שעכשיו הוא עושה בעיה אחרת error C2664: 'nocis' : cannot convert parameter 1 from 'char' to 'char []' Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style castError executingבשורה nocis(*p,c);
פורסם 2007 בספטמבר 3018 שנים p הוא מסוג char[], ולכן *p הוא מסוג char.אתה צריך להעביר ל-nocis משתנה מטיפוס char[].
פורסם 2007 בספטמבר 3018 שנים מחבר אז כמו שאני מבין התוכנית שלי שווה זבל ובצורה הזאת היא לא תעבוד (התוכנית מקבל תו ומחרוזת וסופרת את מס' הפעמים שהתו מופיעה במחרוזת)?
פורסם 2007 בספטמבר 3018 שנים וכדי שהיא תעבוד אתה צריך לשנות אותה קצת.ושים לה לערך ההחזרה כאשר P הוא לא נאל.
פורסם 2007 באוקטובר 118 שנים מחבר עם הבעיה (קוד) הקודמת איך שהוא היסדרתי עכשיו יש לי בעיה בקוד אחרתמיד כשאני עובד עם הפונקציות של המחרוזות(שירשור, העתקה, מציאת תו ראשון וכו'..) יש לי אותו בעיהcannot convert parameter (מספר - אחד או שתיים) from 'char' to 'const char *'
פורסם 2007 באוקטובר 118 שנים מחבר כן את זה הבנתי...אני יודע לקרוא באנגליתבוא אני יסביר מה אני עושה - אני לוקח איבר ממערך תווית(מחרוזת) ושם אותו שם בצורה כזאתstrcpy(str1,str2[ i ])אם אני לא יכול בצורה כזת להעביר את התו למחרוזת אז איך אני כן יכול?
פורסם 2007 באוקטובר 118 שנים מה לעשות, כל הפונקציות האלה מטפלות במחרוזות.אם אתה רוצה להעתיק char לתוך מחרוזת, פשוט תעשה את זה ידנית:str1[0] = str2[i];str1[1] = '\0';אופציה נוספת היא להשתמש ב-sprintf, כלומר:sprintf(str1, "%c", str2[i])
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.