CoolInterview.com - World's Largest Collection of Interview Questions
Start Your Own website Now
Sponsored Links

Interview Questions
Our Services

Get 9,000 Interview Questions & Answers in an eBook.


  • 9500+ Pages
  • 9000 Question & Answers
  • All Tech. Categories
  • 14 MB Content

    Get it now !!



    Send your Resume to 6000 Companies


  • INTERVIEW QUESTIONS LANGUAGES C DETAILS
    Question :
    main()
    {
    char *p = "hello world";
    p[0] = 'H';
    printf("%s", p);
    }



    Category C Interview Questions
    Rating (0.4) By 647 users
    Added on 7/18/2006
    Views 2326
    Rate it!
    Answers:

    Answer is B) Hello World.p[0] is just replacing the value on the first index.



    Its output will vary on tc , Visual Studio
    and on ISO C99
    On TC it will give Hello world'
    But on Visual Studio and C99 it will give segmentation fault

    Because

    char *p="hello";
    char a[10]="raj";
    here p is a pointer its addres can be changed means it can be made to point to somewhere else
    But if its internal characters are tried to change then result is undetermined.....
    But in a[10]="raj";
    Here internal contents can be changed but a can't point to another location.........



    Posted by: rajeev kumar    

    Contact rajeev kumar Contact rajeev kumar

    I thought the base address can't be modified, this is what i get for the above program :

    blr-nsstg-view1% ./a.out
    Segmentation Fault (core dumped)



    Posted by: saikiran    

    Contact saikiran Contact saikiran

    main()
    {
    char *p = "hello world";
    p[0] = 'H';
    printf("%s", p);
    }

    This leads to an Segmentation fault.
    Because, during compilation stage Memory for P is allocated in the stack(P is holding an starting address of an "hello").
    The "hello" declared in Read only(Data segment is divide into 3 parts 1)intialized memory 2)unitialized memory 3)Readonly )
    "hello" will be declared in Read only. Later we cann't modify the "hello",Because its there in Readonly, if we try to modify it leads to Segmentation fault



    Posted by: Sachin    

    Contact Sachin Contact Sachin

    If you have the better answer, then send it to us. We will display your answer after the approval.
    Rules to Post Answers in CoolInterview.com:-

  • There should not be any Spelling Mistakes.
  • There should not be any Gramatical Errors.
  • Answers must not contain any bad words.
  • Answers should not be the repeat of same answer, already approved.
  • Answer should be complete in itself.
  • Name :*
    Email Id :*
    Answer :*
    Verification Code Code Image - Please contact webmaster if you have problems seeing this image code Not readable? Load New Code
    Process Verification  Enter the above shown code:*
    Inform me about updated answers to this question

       
    Related Questions
    View Answer
    main()
    {
    int i, j;
    scanf("%d %d"+scanf("%d %d", &i, &j));
    printf("%d %d", i, j);
    }


    View Answer
    main()
    {
    int i, j, *p;
    i = 25;
    j = 100;
    p = &i; // Address of i is assigned to pointer p
    printf("%f", i/(*p) ); // i is divided by pointer p
    }


    View Answer
    union u
    {
    struct st
    {
    int i : 4;
    int j : 4;
    int k : 4;
    int l;
    }st;
    int i;
    }u;
    main()
    {
    u.i = 100;
    printf("%d, %d, %d",u.i, u.st.i, u.st.l);
    }

    View Answer
    #define SQR(x) x * x
    main()
    {
    printf("%d", 225/SQR(15));
    }


    View Answer
    main()
    {
    int i = 0xff ;
    printf("n%d", i<<2);
    }


    View Answer
    main()
    {
    int i;
    float *pf;
    pf = (float *)&i;
    *pf = 100.00;
    printf("n %d", i);
    }


    View Answer
    main(int argc, char *argv[])
    {
    (main && argc) ? main(argc-1, NULL) : return 0;
    }


    View Answer
    main()
    {
    int i;
    clrscr();
    printf("%d", &i)+1;
    scanf("%d", i)-1;
    }



    View Answer
    1.WRITE A 'C' PROGRAM TO READ THE AGE OF 100 PERSONS AND COUNT THE NUMBER OF PERSONS IN THE AGE GROUP 50 TO 60.USE FOR LOOP AND CONTINUE STATEMENTS.(10 MARKS)
    2.WRITE A PROGRAM TO READ A POSITIVE INTEGER AND PRINT ITS BINARY EQUIVALENT.(10 MARKS)
    3.GIVEN TWO ONE DIMENSIONAL ARRAYS A AND B WHICH ARE SORTED IN ASSCENDING ORDER.WRITE A PROGRAM TO MERGE THEM INTO A SINGLE SORTED ARRAY ,C THAT CONTAINS EVERY ITEM FROM ARRAYS A AND B,IN ASCENDING ORDER.(10 MARKS)
    4.WRITE A FUNCTION IN C THAT WOULD TRAVERSE A LINEAR SINGLY LINKED LIST IN REVERSE AND WRITE OUT THE CONTENTS IN REVERSE ORDER.(10 MARKA)
    5.WRITE A PROGRAM TO READ A SET OF INTEGERS AND TO SEPARATE ALL ODD AND EVEN NUMBERS .WRITE ALL EVEN NUMBERS IN ASCENDING ORDER.(10 MARKS)
    6.WRITE A PROGRAM TO READ A REAL NUMBER X ANF FIND THE EVEN NUMBER NEAREST TO X.(10 MARKS)
    7.WRITE A PROGRAM TO MULTIPLY TWO MATRICES OF ORDER M*N AND N*P RESPECTIVELY.(10 MARKS)
    8.WRITE A PROGRAM IN'C' TO IMPLEMENT K-MAP SIMPLIFICATION TECHNIQUE.(10 MARKS)

    View Answer
    What will be the output of the following program in UNIX OS with CC compiler and TC compiler?

    int main()
    {
    int i=5;
    printf(" %d",++i + ++i + ++i + ++i + ++i );
    }
    If any difference then Why it is difference?


    View Answer
    union u1
    {
    int i;
    char c;
    }u2;
    u2.i=32767;
    u2.c='a';
    now the i value gets replaced.
    If we want to know the data that is saved in the union..internally, without knowing what values that we are using in the prog.

    that is if just want to know whether a union currently holds an int or a char? If it is a combination of both int and char..we must know even that. and the memory locations at which this data is stored?


    View Answer
    main(int x).............

    explaination on arguments passed thr' main

    View Answer
    How do you write a C program which can calculate lines of code but not counting comments?

    View Answer
    Output of this Programme please??

    main()
    {

    int a[]={2,4,6,8,10};
    int i;
    change(a,5);
    for(int i=0;i<=4;i++)
    printf(" %d", a[i]);
    }

    change(int *b,int n)
    {

    int i;
    for(i=0;i *(b+i) = *(b+i)+5;
    }

    sytaxis correct?? was asked i a test


    View Answer
    How can we open a image file through C program

    View Answer
    What does it mean-

    a[i]=i+i

    View Answer
    I want C program code for : Reverse the links of a linked list by traversing only once

    Input:
    The input consists of the information in each node of the linked list.

    Output:
    The program displays the information in the linked list after the links are reversed.

    Sample Input:
    Enter the information in the linked list (Enter -1 to exit): 10
    20
    30
    40
    50
    -1


    Sample Output:
    After the links are reversed
    Information in the linked list:
    50
    40
    30
    20
    10




    View Answer
    Write a program which accepts a filename as a command line argument and reverses the contents of the file( ie first character

    becomes the last character of the file and so on)


    Input: The program takes the file name whose content should be reversed.

    Output: The program reverses the contents of the file.



    View Answer
    What is page thrashing?
    View Answer
    When should the register modifier be used? Does it really help?
    View Answer


    Please Note: We keep on updating better answers to this site. In case you are looking for Jobs, Pls Click Here Vyoms.com - Best Freshers & Experienced Jobs Website.

    View ALL C Interview Questions

    User Options
    Sponsored Links


    Copyright ©2003-2014 CoolInterview.com, All Rights Reserved.
    Privacy Policy | Terms and Conditions

    Download Yahoo Messenger | Placement Papers| FREE SMS | ASP .Net Tutorial | Web Hosting | Dedicated Servers | C Interview Questions & Answers

    Testing Articles | Testing Books | Testing Certifications | Testing FAQs | Testing Downloads | Testing Interview Questions | Testing Jobs | Testing Training Institutes


    Cache = 0.015625 Seconds