1

I have included the cs50 library however, I am still getting an error.

Input:

#include <stdio.h>
#include <cs50.h>

int main(void)
{
    printf("hello, %s\n");
}

string name = get_string ("What is your name?\n");

Output:

~/pset1/hello/ $ make hello
clang -ggdb3 -O0 -std=c11 -Wall -Werror -Wextra -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wshadow    hello.c  -lcrypt -lcs50 -lm -o hello
hello.c:6:27: error: use of undeclared identifier 'name'
    printf("hello, %s\n", name);
                          ^
hello.c:9:15: error: initializer element is not a compile-time constant
string name = get_string("What is your name?\n");
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/cs50.h:109:25: note: expanded from macro 'get_string'
#define get_string(...) get_string(NULL, __VA_ARGS__)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.
<builtin>: recipe for target 'hello' failed
make: *** [hello] Error 1
~/pset1/hello/ $ ./hello
hello, world
0

You need to ask the user first for his/her name

string name = get_string();

And then prints his/her name

printf("hello, %s/n", name);
| improve this answer | |
  • thank you so much it worked! – Niha Rika Jun 28 at 18:45
  • No problem.Be sure to tick the answer if I helped you. – Shahroz Ali Jun 28 at 18:49
1

string name = get_string ("What is your name?\n");

This line needs to be inside the main function.
It also needs to be before printf("hello, %s\n", name); this line, since you can't use the name variable until after it exists.

| improve this answer | |

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .