אני תוהה איך אפשר...

edddie

New member
אני תוהה איך אפשר...

לכתוב משפט ושהוא ירשום אות אות חשבתי על זה
<dos.h> printf("H"); delay(1); printf("E"); delay(1);​
וכו' אבל אני מתאר שיש דרך פשוטה יותר ואני מקווה שיש לכם תשובה תודה מראש
 

DNile

New member
הכיוון שלך נכון..

אתה באמת צריך להשתמש בהדפסה של אות בודדת, ואז המתנה כלשהיא. אתה יכול לפשט את זה עם לולאות.
char pWelcomeString[] = "Ola senior! Do you have any beans or rice?\n"; for(char *p = pWelcomeString; *p != "\0"; p++) { printf("%c, *p++); delay(1); }​
 

DNile

New member
אופס.

השורה של ההדפסה אמורה להיות:
printf("%c", *p);​
 

edddie

New member
הוא כותב לי...

שהוא לא יכול להמיר CHAR ל CHAR* לא הבנתי שמה שניתה את החלק של ה* ולמה שתנאי של ה FOR עשיתה /0
 

אמיר ט

New member
יש שם טעות קטנה

ב FOR, תשנה את "0\" ל '0\' גרשיים כפולים הופכים את זה למחרוזת ומוסיפים בסוף 0\. גרשיים בודד מתייחסים לזה כאל תו בודד.
 

downtown14

New member
עכשיו הוא כותב לי

Compiling NONAME01.CPP: Error NONAME01.CPP 8: Unterminated string or character constant Error NONAME01.CPP 9: Function call missing )​
וזה הקוד השלם שרשמתי
#include <stdio.h> #include <dos.h> void main() { char pWelcomeString[] = "Ola senior! Do you have any beans or rice?\n"; for(char *p = pWelcomeString; *p != '\0'; p++) { printf("%c,*p); delay(1); } }​
 

אמיר ט

New member
התיקון

#include <stdio.h> #include <dos.h> void main() { char pWelcomeString[] = "Ola senior! Do you have any beans or rice?\n"; for(char *p = pWelcomeString; *p != '\0'; p++) { printf("%c",*p); delay(1); } }​
שים לך לשורה עם ה printf
 

DNile

New member
כמה באגים בקטע אחד.

ללא ספק, אחד הגרועים שלי. בבקשה. שכתוב שעובד!
char WelcomeString[] = "Howdy john, would you like your regular ham and eggs today?\n"; for(char *p = WelcomeString; *p != '\0'; ++p) { printf("%c", *p); delay(1); }​
 

edddie

New member
הנה הפלט שאני מקבל

אז זה בערך נכון אבל כשהוא מסיים את המשפט הוא צריך להפסיק ותסביר לי את החלק של ה* וה /0
 
זה פשוט לאללה

החלק של ה 0\ זה איזה תו מיוחד שמוכנס שמהווה אינדיקציה לכלום. מבחינת C זה אומר שהמילה הסתיימה. בנוגע ל * זה קצת מסובך להסביר על רגל אחת אבל בגדול אתה צריך להבין במחרוזת ( או מערך של תווים לצורך העניין ) זה מצביע למקום מסויים בזכרון שיושב ברצף. * אחרי הטיפוס מגדיר אותו כמצביע ולפני שם המשתנה זה אומר פנייה לשטח שעליו הזכרון מצביע. מה שקורה כאן זה שאתה עובר עם מצביע על מערך (שהוא, שוב , מצביע לתא ראשון בזכרון ) על המערך על שתגיע לאינדיקצה שאומרת שנגמר המערך. קאפיש?
 
למעלה