-1

I am very new to c/c++ programming. i was writing a few lines of code and after compiling and running the program i did not receive the desired output. can you please help me in this matter.

/* Test.c */
#include <stdio.h>

main()
{
char i[30];
clrscr();
printf("Enter a name: ",i);
scanf("%s",i);
printf("The name is %s",i);
}

When I run the above program It prompts me to enter the name.

If I enter:

Debashish

(Debashish is my name).
it will display:

The name is Debashish

But if I enter:

Debashish Gupta

(My Full Name)
It will display Debashish and not Debashish Gupta.


Can anyone please tell me where am i wrong.

Votes + Comments
Use code tags.
4
Contributors
6
Replies
7
Views
12 Years
Discussion Span
Last Post by frrossk
0

The problem is that "scanf" reads the input until it meets a "\n" or a blank character. Try using a function that reads the whole line, like "gets".

0

If you wanna program in C++ I think cin.getline() will work perfectly fine.

You're right, but I saw somewhere a comment "Test.c"... ;)

0

You're right, but I saw somewhere a comment "Test.c"... ;)

OOPS I didn't have a look at that. I am really sorry. But if it was a C++ program wasnt my answer right?

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.