Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Если Эта статья хабражителям понравится, будут еще статьи на тему «чем учебники отличаются от реальной жизни».
И вывод может отправляться, например, в какое-нибудь странное устройство, которое просто не умеет записывать больше одного символа за раз.
И вывод может отправляться, например, в какое-нибудь странное устройство, которое просто не умеет записывать больше одного символа за раз.
const char const * msg = «Hello World!\n»;
void* operator new(std::size_t, const std::nothrow_t&) throw();
#include <new>
int *p = new (std::nothrow) int;
if (p == NULL)
cerr << "memory allocation failure\n";#include <stdlib.h>
static inline void *xmalloc (size_t size)
{
void *p = malloc(size);
if (p)
return p;
else
{
fprintf(stderr, "error: not enough memory\n");
exit(EXIT_FAILURE);
}
}А теперь, что если у нас не «Hello World!\n»? А если там строчка вроде «Use %s to print string»? Нельзя нам здесь пользоваться printf, если мы хотим, чтобы этот код можно было еще где-нибудь использовать. А мы ведь этого хотим, иначе какие же мы программисты.
$ gcc -v 2>&1 |grep 'gcc version'
gcc version 4.3.2 (Debian 4.3.2-1.1)
$ echo "int main() {int a; {int b; } if (0) {int c;} while(0) {int d;} return 0;}" | gcc --std=c89 -x c - -o scope && ./scope && echo Everything is ok || echo Something is wrong
Everything is ok
#include <stdio.h>
int main() {
return printf("Hello world!") < 0;
}
const char const* msg = "something";
const char* const msg = "something";
const char msg[] = "something";
Hello World! как ему следует быть на C в Linux