קומפיילר לC

the UFO master

New member
קומפיילר לC

שלום התחלתי ללמוד C ואני משתמש בTCLITE אבל לא כל כך אוהב אותו. אני צריך קומפיילר קל שאני יכול לכתוב בו תוכניות קטנות ופשוטות ולהריץ אותן מיידית. יש המלצות? תודה מראש, לב.
 

the UFO master

New member
יש לי בעיה בריצה של תוכנית

התוכנית רצה מצויין בTCLITE אך GCC נותן לי את השגיאה הבאה:
line 4 `main' must return `int'​
התוכנית היא:
#include <stdio.h> void main(void) { int a, b, c; printf("enter first num\n"); scanf("d%", &a); printf("enter second num\n"); scanf("d%", &b); c=a+b; printf("The sum of %d and %d is %d\n", a ,b ,c); }​
מה עשיתי לא נכון?
 

the UFO master

New member
תודה, ו...

הקטע עם הINT MAIN עזר אבל עכשיו, כשאני מריץ את זה, זה מבקש את המספר הראשון, אני מכניס וזה פשוט יוצא מהתוכנית. מה עושים?
 

the UFO master

New member
תודה רבה.

יש לי עוד בעיה. מצטער על כל השאלות, פשוט אני ממש מתחיל בC ואני לא יודע מה הבעיה. הנה התוכנית המעודכנת:
#include <stdio.h> int main() { int a, b, c; printf("enter first num\n"); scanf("%d", &a); printf("enter second num\n"); scanf("%d", &b); printf("The sum of %d and &d is &d\n", a ,b ,a+b); scanf("%d", &c); }​
בעקרון ה scanf האחרון מיותר, שמתי אותו רק בגלל שאם אין אותו זה יוצא אוטומטית מהתוכנית בלי שאני אספיק לקרוא את ההודעה שהודפסה, אם יש דרך אחרת להשאיר את זה פתוח, אני אשמח לשמוע אם לא, אז לא נורא. עכשיו הבעיה שלי היא שכשהוא מדפיס את הprintf האחרון במקום להדפיס את הערך של המשתנים b ו a+b הוא מדפיס %d. זה נראה ככה: The sum of 5 and %d is %d מה אני יכול לעשות בקשר לזה?
 

the UFO master

New member
תודה רבה.

יש לי עוד בעיה. מצטער על כל השאלות, פשוט אני ממש מתחיל בC ואני לא יודע מה הבעיה. הנה התוכנית המעודכנת:
#include <stdio.h> int main() { int a, b, c; printf("enter first num\n"); scanf("%d", &a); printf("enter second num\n"); scanf("%d", &b); printf("The sum of %d and &d is &d\n", a ,b ,a+b); scanf("%d", &c); }​
בעקרון ה scanf האחרון מיותר, שמתי אותו רק בגלל שאם אין אותו זה יוצא אוטומטית מהתוכנית בלי שאני אספיק לקרוא את ההודעה שהודפסה, אם יש דרך אחרת להשאיר את זה פתוח, אני אשמח לשמוע אם לא, אז לא נורא. עכשיו הבעיה שלי היא שכשהוא מדפיס את הprintf האחרון במקום להדפיס את הערך של המשתנים b ו a+b הוא מדפיס %d. זה נראה ככה: The sum of 5 and %d is %d מה אני יכול לעשות בקשר לזה?
 

Jaguar7

New member
אתה יכול להחליף

את ה scanf האחרון ב scanf("%*c") שזה אומר לו לקרוא תו אבל לא להציב אותו במשתנה.
 
למעלה