Мне было интересно, можно ли инициализировать строку пустой строкой следующим образом:
#include <stdio.h>
#include <string.h>
char* some_function() {
char* w = malloc(100*sizeof(char));
w = "";
if (1 == 2) {
w = "Not empty anymore";
}
return w;
}
int main(void) {
char* word = some_function();
int r = strcmp("", word);
printf("%s\n", word);
printf("%d\n", r);
return 0;
}
Он отлично компилируется и дает мне желаемый результат, однако я все еще новичок в C и мне было интересно, не приведет ли это к каким-либо проблемам в будущем. Кроме того, мое использование strcmp для сравнения слова с "" в порядке?
if (1 == 2)
в коде? - person GShaik   schedule 07.04.2016strcpy()
. - person GShaik   schedule 07.04.2016=
используйтеstrcpy
. 2) Включитеstdlib.h
(дляmalloc
иfree
) 3)free
выделенную память изmain
. - person Spikatrix   schedule 07.04.2016