Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4028564

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 20, 20262026-05-20T11:14:08+00:00 2026-05-20T11:14:08+00:00

I have a question regarding the execution of the following program. #include<stdio.h> int main(void)

  • 0

I have a question regarding the execution of the following program.

#include<stdio.h>

int main(void)  
{    
    char *p="hey friends",*p1;  
    p1=p;  
    while(*p!='\0')  
    {  
        p++;  
        printf("\n%p",p);  
    }  
    printf("%s %s",p,p1);  
    sleep(100);  
}  

When I ran the below it is giving the output as follows:

0x8048521  
0x8048522  
0x8048523  
0x8048524  
0x8048525  
0x8048526  
0x8048527  
0x8048528  
0x8048529  
0x804852a  

and then after 100 seconds it is printing “0x804852b hey friends”. Although the statement: printf(“%s %s”,p,p1); is before the sleep statement then why it is not printing before going to sleep and moreover it is printing one more address means it is entering the loop one more time.Can somebody please explain me the working of the above program. Whether is it related to the printf function’s buffer?

  • 0 0 Answers
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-20T11:14:09+00:00Added an answer on May 20, 2026 at 11:14 am

    stdout is line buffered. When you printf a \n or exit your application, the actual printout happens.

    Use:

    printf("%s %s\n",p,p1);
    

    Or:

    fflush(stdout);
    

    EDIT: Address the other question…

    printf("\n%p",p);
    

    This prints a newline first and then an address.

    printf("%s %s",p,p1); 
    

    This prints an empty string (since p points to the 0 terminator) a space and the original string.

    When the loop is done, you’ve printed the last address (but it’s not flushed). You sleep, and then you print an empty string, a space, and the original string.

    If you changed the last printf to use "%p %s" it’d be more clear what’s happening.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm writing a small webapp in Grails and I have the following question regarding
Following on from my recent question regarding parsing XML files in Java I have
I have a question regarding the two additional columns (timeCreated, timeLastUpdated) for each record
I have a question regarding an update function I created... CREATE OR REPLACE FUNCTION
I have a question regarding handling errors in a J2EE application. Our current application
I have a question about best practices regarding how one should approach storing complex
I have a simple question and wish to hear others' experiences regarding which is
I have a question regarding a platform I'm developing called e-cidadania (GPL). One of
I have a question regarding inheritance, so I will describe the scenario below: I
I have a question regarding how to use the formula property to be used

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.