עבור לתוכן

עזרה בשפת C

Featured Replies

פורסם

//הפונקציה הבאה מקבלת מחרוזת - ושמה את את כל האותיות שבה במחרוזת חדשה.

//הפונקציה תחזיר את המחרוזת החדשה ללא בזבוז זיכרון.

//הנה הקוד, אנא עזרו לי להבין מה לא בסדר פה.תודה

char *updString(const char *s)

{

int size=1;

char *pNew;

while(*s)

{

if(*s<='Z'&&*s>='A')

{

pNew=(*char)realloc(size*sizeof(char));

*pNew=*s;

pNew++;

size++;

}

s++;

}

return pNew;

}

פורסם

אם אתה מתכוון לזה שהתכנית שלך לא עוברת קומלציה, זה בגלל שבהקצאה הדינאמית אתה רשמת

(char*)

במקום

(*char)

הפוקציה REALLOC מקציאה זכרון חדש למצביע קודם שהקצאת לו זכרון, אתה צריך לתת לפונקציה את המצביע שהקצאת לו זכרון לפני זה (אתה חייב לעשות MALLOC לפני שאתה עושה REALLOC)

פורסם
  • מחבר

שלומפי תודה רבה!

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים