#visual-c
Вопрос:
следующий код выдает ошибку во время выполнения в leetcode ,но тот же код отлично работает на других компиляторах, может ли кто-нибудь сказать, в чем проблема.
код:
string countAndSay(int n) { int count=1; string num = "1",x,result; for(int i = 0;ilt;n-1;i ) { result = ""; for(int j = num.size()-1;jgt;=0;j--) { if(num[j]!=num[j-1]) { x = to_string(count); result = x num[j] result; count = 1; } else { count ; } } num = result; } return num; }
ошибка:
Строка 1061: Символ 9: ошибка во время выполнения: добавление смещения без знака к 0x7ffe1e4534d0 переполнено до 0x7ffe1e4534cf (basic_string.h) СВОДКА: Неопределенное поведение: неопределенное поведение /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../включить/c /9/бит/базовую строку.h:1070:9
Комментарии:
1.
num[j-1]
проявляет неопределенное поведение путем доступа к индексу за пределами границ, когдаj == 0