Visual studio, код ошибки: C2466 и C2057
Я хочу написать кодовый блок. Этот код блокирует печать обратного номера и номера шага, когда я ввел номер. Я использую visual studio. И я получил две ошибки.
Что я уже пробовал:
Всем привет, я новичок в языке Си. Я хочу написать кодовый блок. Этот код блокирует печать обратного номера и номера шага, когда я ввел номер. Я использую visual studio. И я получил две ошибки.
Один из них: C2466 не может выделить массив постоянного размера 0
Другое: C2057 ожидаемое постоянное выражение
Программа, которую я написал, такова::
#include <stdio.h> #include <stdlib.h> #include <locale.h> int findNumberSteps(int comingNumber) { int count = 0; while (comingNumber > 0) { comingNumber /= 10; count++; } return count; } void reversedNumber(int numberReceived) { int stepsNumbers = 2; stepsNumbers = findNumberSteps(numberReceived); int numbers[stepsNumbers]; int stepNumber = 0; do { stepNumber++; numbers[stepNumber - 1] = numberReceived % 10; numberReceived /= 10; } while (numberReceived > 0); for (int i = 0; i <= stepsNumbers; i++) { printf("%d", numbers[i]); } /*int remain; while (numberReceived > 0) { remain = numberReceived % 10; numberReceived /= 10; printf("%d", remain); }*/ } int main() { setlocale(LC_ALL, "Turkish"); int numberEntered = 0; do { printf("Please enter a positive number:\n"); scanf_s("%d", &numberEntered); printf("\n"); } while (numberEntered <= 0); printf("%d has %d steps.\n\n", numberEntered, findNumberSteps(numberEntered)); printf("The number that is reversed number you entered: "); reversedNumber(numberEntered); printf("\n"); return 0; }
Как я могу исправить эти ошибки?