• C

Simple C Help

I have the following program:

#include <stdio.h>

char name[]   = "Mr J Smith";
int stnum     = 345;
char stname[] = "Main";
char town[]   = "Palmerston North";

int main(void)
{
  printAddress();
  return 0;
}

void printAddress(void)
{
  printf(name, stnum, stname, town);
}

I'm trying to get the following output:

Mr J Smith,
345 Main Street,
Palmerston North

I've tried:
printf(name",\n", stnum, stname" Street,\n", town);
but it won't work.
lhuttonAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
imladrisConnect With a Mentor Commented:
printf requires a format string as the first argument with which to interpret the subsequent variables:

printf("%s\n%s %s Street\n%s\n",name,stnum,stname,town);

This should do the trick. The "%s" means assume the next variable is a string and print it like that. There is also "%d" (next variable is an int), "%ld" (next variable is a long int) "%f" (next variable is a float) etc. etc.
0
 
lhuttonAuthor Commented:
Thanks!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.