По какой-то причине добавление \n
в printf()
изменяет поведение ниже кода. Код без \n
печатает (null)
, тогда как код с \n
приводит к Segmentation fault
.
Printf.c
#include <stdio.h>
int main(int argc, char* argv[]){
printf("%s", argv[1]);
}
Printf.c - вывод
$ gcc -o Printf Printf.c
$ ./Printf
(null)
Printf_Newline.c
#include <stdio.h>
int main(int argc, char* argv[]){
printf("%s\n", argv[1]);
}
Printf_Newline.c - Выход
$ gcc -o Printf_Newline Printf_Newline.c
$ ./Printf_Newline
Segmentation fault (core dumped)
Мне любопытно понять причину этого.