C programming question (beginner)

  • #1
Math Is Hard
Staff Emeritus
Science Advisor
Gold Member
4,566
32
Here's a question I am working on for a c programming assignment.

If the following printf statement was part of a complete program, what would it print?

printf("%c",'\x4d');

Now, I know this prints M because I ran it, and I know the output is a single character because %c is a single character conversion spec. But I don't understand what value '\x4d' is returning. Is it just producing the character M and if so why?

Thanks for your help!
 

Answers and Replies

  • #2
695
0
'\x4d' simply produces the character which has the ASCII code 4D (or 77 in decimal). It happens to be M.
 
  • #3
chroot
Staff Emeritus
Science Advisor
Gold Member
10,239
39
the \xhh form, where hh are two hex digits, is interpreted by the compiler into the actual byte hh.

- Warren
 
  • #4
Math Is Hard
Staff Emeritus
Science Advisor
Gold Member
4,566
32
ahhh.. I wondered if it might be ASCII.
Thanks, Muzza, you're a peach!
 
  • #5
Math Is Hard
Staff Emeritus
Science Advisor
Gold Member
4,566
32
Come again, Warren..? So I am dealing with a hex #?
 
  • #6
1,357
0
Math Is Hard said:
Come again, Warren..? So I am dealing with a hex #?
All ASCII characters are encoded as a binary number using eight binary digits. Out of conveniance, it is easier to write the equivalent hexadecimal number rather than the binary. It's just maths.
 
  • #7
Math Is Hard
Staff Emeritus
Science Advisor
Gold Member
4,566
32
OK, I think I get it. I have forgotten hexadecimal notation and had to punch it in a calculator for hex to base 10 translation.

If i had used '\d77' would I have gotten the same result?
 
  • #8
Math Is Hard
Staff Emeritus
Science Advisor
Gold Member
4,566
32
hmm.. I guess not. I just tried it.
 

Related Threads on C programming question (beginner)

  • Last Post
Replies
3
Views
2K
  • Last Post
Replies
4
Views
2K
  • Last Post
Replies
9
Views
2K
  • Last Post
Replies
6
Views
2K
  • Last Post
Replies
10
Views
1K
  • Last Post
Replies
2
Views
5K
  • Last Post
Replies
4
Views
192
Replies
2
Views
467
  • Last Post
2
Replies
41
Views
6K
Replies
1
Views
2K
Top