Игнорируется тело цикла for

Программа игнорирует тело цикла for. Итерации проходят, но отладчик в тело не входит. VS22 сборка Debug.

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>

typedef struct List {
    int data;
    struct List* Next;
} List;

void Add(List* ls, int data) {
    List* node = ls;
    ls = malloc(sizeof(List));
    ls->data = data;
    ls->Next = node;
}

int main() {
    List* ls = malloc(sizeof(List));
    ls->Next = NULL;
    ls->data = NULL;
    if (ls->Next == NULL) {
        ls->data = 2;
    }
    int i = 0;
    while (1) {
        char c = getchar();
        char num[16];
        if (isspace(c)) {
            if (num[0] != '\0') {
                Add(ls, atoi(num));
                for (int j = 0; j <= i; j++) { 
                    num[j] == '\0'; \\Полностью игнорируется
                }
                i=0;
            }
            continue;
        }
        else if (c == '.') {
            if (num[0] != '\0') {
                Add(ls, atoi(num));
                i++;
                for (; i <= 0; i--) {
                    num[i] == '\0';
                }
            }
            break;
        }
        else if (isdigit(c)) {
            num[i++] = c;
        }
        else {
            printf("Error");
            return 1;
        }
    }
    while (ls->Next != NULL) {
        printf("%d", ls->data);
    }
    return 0;
}

Ответы (1 шт):

Автор решения: Faraday

Если вы хотели использовать присвоение, но вместо него выполняется сравнение

num[j] == '\0'; \\Полностью игнорируется

Просто замените на это

num[j] = '\0';
→ Ссылка