טיפוסי int, char
1.int ידוע בתור טיפוס של מספרים שלמים. יצא לי לראות תוכנית מסויימת שבה הגדירו C בתור טיפוס של int ובהמשך יצרו לולאה:
while ((c=getchar())!=EOF ) (אגב המטרה של התוכנית היא לספור כמה מילים קיימות בקובץ).
אני מבין שטיפוס char לא מתאים כי לא תמיד הערך של EOF=-1 בתחום שלו, אבל איך הוא יכול לאגור תווים בתור int שקולט רק מספרים?
האם טבלת ASCII לא מדברת רק עבור char ?
2.אני נוטה להתבלבל בין המספר 1 לתו '1'(שמספרו בטבלת ASCII הוא 49). האם יש בינהם הבדל? אם למשל מופיע לי ביטוי a' + 1' - האם הפלט יהיה 'b' או a' + 49'? ע"פ גרשיים?
תודה,
1.int ידוע בתור טיפוס של מספרים שלמים. יצא לי לראות תוכנית מסויימת שבה הגדירו C בתור טיפוס של int ובהמשך יצרו לולאה:
while ((c=getchar())!=EOF ) (אגב המטרה של התוכנית היא לספור כמה מילים קיימות בקובץ).
אני מבין שטיפוס char לא מתאים כי לא תמיד הערך של EOF=-1 בתחום שלו, אבל איך הוא יכול לאגור תווים בתור int שקולט רק מספרים?
האם טבלת ASCII לא מדברת רק עבור char ?
2.אני נוטה להתבלבל בין המספר 1 לתו '1'(שמספרו בטבלת ASCII הוא 49). האם יש בינהם הבדל? אם למשל מופיע לי ביטוי a' + 1' - האם הפלט יהיה 'b' או a' + 49'? ע"פ גרשיים?
תודה,