פורסם 2009 ביוני 816 שנים היי!,אני מנסה לכתוב פונקציה בC (Win32 console) שתקבל פויינטר מהMAIN מסוג צ'אר, תבקש מהמשתמש סיסמא, ותקצא לפויינטר שהיא קיבלה מקום בדיוק לפי מספר התאים שתופסת הסיסמא, לאחר מכן תעשה השמה לתוך הפויינטר של הסיסמא.זה מה שיש לי עד כה:#include <stdio.h>#include <stdlib.h>#include <time.h>#include <string.h>int NewPass(char* pass[200]){ char temppass[200]=NULL; int i=0; *pass=NULL; printf("Please Enter a new password:\n"); fflush(stdin); gets(temppass); //printf("Please select how many attempts do you want to accomidate the user with:\n"); //scanf("%d",&n); pass = (char*) malloc((strlen(temppass)+1)*sizeof(char)); strcpy(pass,&temppass);}void main(){ char* password; NewPass(&password); puts(*password);}כאשר אני מריץ את הדיבאגר הוא טוען ש pass הוא פויינטר לא תקין.מישהוא יודע מה הסיבה? יכול להיות שאני עושה את זה לגמריי לא נכון??תודה!!
פורסם 2009 ביוני 816 שנים ערוך בבקשה את ההודעה שלך, ועטוף את הטקסט של הטג קוד (כפתור "הכנס קוד" למעלה, שנראה כמו #).ככה ההודעה תהיה קריאה יותר.ה-pass שהפונקציה מקבלת צריך להיות מטיפוס **char.
פורסם 2009 ביוני 816 שנים מחבר מה זה אומר? שההצרה בפונקציה צריכה להיות NewPass(char** Pass) ולגבי שאר הסינטקס הוא תקין?
פורסם 2009 ביוני 816 שנים כןקרא כאן לעוד הסברhttp://home.netcom.com/~tjensen/ptr/ch8x.htmובפעם הבאה כדאי לכתוב את השגיאה כפי שנתקבלה בהצלחה
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.