copy_from_user(ips[i], buffer,256); printk(KERN_INFO "ips: %s \n", ips[i]); i++; if(strncmp(ips[0],"wh",2)==0){
почему он работает,
как его можно переписать, чтобы было удобнее читать?
Почему выводит только первую строку а остальные что-то непонятное?
int print_arr(int str, int stlb, int matr[][stlb]){ ... } int mass[10][10]; ... print_arr(N, L, &mass[k][i]);
int main()
{
int L = 0, N = 0, k, i;
scanf("%d", &N);
L=N;
int mass[N][L];
for(k = 0; k < N; k++){
printf("[%d]\n", k);
for(i = 0; i < L; i++){
scanf("%d", &mass[k][i]);
}
}
printf("matrix NxN\n");
print_arr(N, L, mass);
return 0;
}
scanf("%d", &d);
имелось в виду scanf("%d", &nUm);
.nUm = nUm % d;// делим на него
nUm = nUm / d;// делим на него
d=2; //обнуляем переменную d
printf(file, "\nОшибка, недопустимые значения");
он записал обрывок сообщения:
"стимые значения"
а почему?
fprintf(file, "\nОшибка, недопустимые значения");
fscanf(file, "%f", &num) == true
== 1
. fscanf возвращает число (отсканированных полей), а не признак успеха. sizeof(char)
while(isdigit(string[j]) || isalpha(string[j])) { buf = (char *)realloc(buf, ++k * sizeof(char)); buf[k - 1] = string[j]; j++; }
parsed_string[size - 1] = (char *)malloc(strlen(buf) * sizeof(char)); strcpy(parsed_string[size - 1], buf);
Почему возможно объявление глобальной переменной
struct interval b
-- это определение переменной, выделяющее для неё место на стеке. Но его можно переписать, чтобы b тоже стало объявлением, например так:int main ()
{
extern struct interval b;
struct interval
{
int first;
int second;
};
}
struct interval b;
-- это tentative definition с внешней линковкой. Стандарт (С99) говорит о нём следующее (6.9.2:2):A declaration of an identifier for an object that has file scope without an initializer,
and without a storage-class specifier or with the storage-class specifier static, constitutes
a tentative definition. If a translation unit contains one or more tentative definitions for
an identifier, and the translation unit contains no external definition for that identifier,
then the behavior is exactly as if the translation unit contains a file scope declaration of
that identifier, with the composite type as of the end of the translation unit, with an
initializer equal to 0.
Как это понимать? Это что вся функция, которая нам устанавливает связь с сервером?
sysdeps/unix/sysv/linux/connect.c
, но всё что она делает -- это системный вызов, обёрнутый в манипуляции с pthread-cancellation.Вот так не работает: button_left.button_port = "PORTD";
А так работает:
struct button button_left = {"PORTD", 6, 0, 0, 0, 12};
Почему возникает ошибка при обращении к struct?
Почему-то меню показывается два раза после того, как я введу что-либо.
scanf("%c", &choice);
scanf(" %c%*[^\n]", &choice);
%c
проглотит все пробельные символы, %*[^\n]
проглотит хвост строки после первого прочитанного не-пробельного символа. Хотелось бы знать причину предупреждений, это стандартное поведение или несовершенство препроцессора?
_Generic((1), int : _Generic((2), int : fnk(1, 2,
# 37 "generic.c" 3 4
((void *)0)
# 37 "generic.c"
), char * : fnk(1, 0, 2)));
printf("\n2.2)---------\n");
_Generic((1), int : _Generic(("2"), int : fnk(1, "2",
# 40 "generic.c" 3 4
((void *)0)
# 40 "generic.c"
), char * : fnk(1, 0, "2")));
void fnk_int(uintmax_t A, uintmax_t B){
...
}
void fnk_pchar(uintmax_t A, char *B){
...
}
#define FFF_B(A, BC) \
_Generic((A), \
int : _Generic((BC), \
int : fnk_int, \
char * : fnk_pchar)(A, BC))
Что не так?
char *str = "hello";
char str[] = "hello";
Как практиковаться