עבור לתוכן

שאלה בפוניינטרים בשפת סי

Featured Replies

פורסם

כשאני מריץ את התוכנית הפלט הינו : 113

למה זה?



char str1[20] = "question 4";
char str2[] = "second";
int i;
char *prt;
printf("%d\n",*str1);






פורסם

בוא נסתכל על השורה הזו:


printf("%d\n",*str1);

d% אומר להדפיס את הפרמטר שהועבר לפונקציה כמספר שלם.

str1* זה הערך היושב בתא שאליו מצביע str1.

כידוע, כל מערך הוא בעצם מצביע לתא הראשון במערך, כלומר str1 הוא בעצם מצביע לתא הראשון שבו, שמכיל את התו 'q'.

לכן, הפקודה אומרת להדפיס את הערך המספרי של התא הראשון במערך str1.

פורסם
  • מחבר

האא! המון תודה..!

פורסם
  • מחבר

שניצל אם נניח לא היה סימון כוכבית אז מה הוא היה מדפיס?


printf("%d\n",str1);

ארכיון

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

דיונים חדשים