Multi-character constant warnings

According to the standard (§6.4.4.4/10) The value of an integer character constant containing more than one character (e.g., ‘ab’), […] is implementation-defined. This is valid ISO 9899:2011 C. It compiles without warning under gcc with -Wall, and a “multi-character character constant” warning with -pedantic. From Wikipedia: Multi-character constants (e.g. ‘xy’) are valid, although rarely useful … Read more

Check if input is integer type in C

num will always contain an integer because it’s an int. The real problem with your code is that you don’t check the scanf return value. scanf returns the number of successfully read items, so in this case it must return 1 for valid values. If not, an invalid integer value was entered and the num … Read more

Convert char array to string use C

You’re saying you have this: And you’d like to have this: You can’t have that. A char holds 1 character. That’s it. A “string” in C is an array of characters followed by a sentinel character (NULL terminator). Now if you want to copy the first x characters out of array to string you can … Read more

Flushing buffers in C

Flushing the output buffers: or Can be a very helpful technique. Why would you want to flush an output buffer? Usually when I do it, it’s because the code is crashing and I’m trying to debug something. The standard buffer will not print everytime you call printf() it waits until it’s full then dumps a bunch at … Read more