Тема: Помилка DEADLYSIGNAL при спробі ввести аргумент командного рядка
Маю за мету написати програму, яка дозволить мені зашифрувати повідомлення шифром Цезаря.
Поки що це фрагмент коду, який має працювати з аргументами командного рядка. Якщо це одне натуральне число (на даному етапі просто ціле число), то має виводитися повідомлення про успіх + це число. В іншому випадку - таке повідомлення: "Usage: ./caesar key".
Цей фрагмент компілюється, але при введенні аргументу командного рядка видає таку помилку:
UndeftnedBehavtorSanttizer : DEADLYSIGNAL
==1552==ERROR: UndefinedBehavtorSanttizer: SEGV on unknown address 0x7f11fa44c8e8 (pc e0x000000422
517 bp 0x7ffeda396280 sp 0x7ffeda3961c0 T1552)
==1552==The stgnal is caused by a READ nenory access.
#0 0x422516 (/root/sandbox/caesar+0x422516)
#1 0x7f1245bażb96 (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)
#2 0x402b29 (/root/sandbox/caesar+0x402b29)
UndeftnedBehavtorSanttizer can not provide addittonal info.
==1552==ABORTING
Ось і сам фрагмент коду:
#include <cs50.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, string argv[])
{
if (argc == 2 && isdigit(argv[1]))
{
int m = atoi(argv[1]);
printf("Success, %i\n", m);
return 0;
}
else
{
printf("Usage: ./caesar key\n");
return 1;
}
}
Дякую.