2016-11-14 2 views
0

Для этого задания я должен использовать отладчик в Visual Studios, я как бы понимаю, как его использовать, но я не могу полностью его понять. Для первой части кода он запрашивает все значения a, b и c. Я положил свой отладчик на запуск сразу перед его запуском, а затем сразу после его завершения. Я запускаю его с помощью клавиши F10. Я прохожу через него один раз, и я получаю a = 6, b = 3, c = 6. Затем, как только я пройду через него, я получаю разные значения, однако я хочу просмотреть эти значения в виде списка. Это возможно?Использование отладчика для поиска целочисленных значений

//THIS IS THE CODE. 
#include<stdio.h> 

void func1(int a, int b, int c) 
{ 
    //Track all values of a, b, and c 

    printf("%d %d %d\n",a,b,c); 
    a = b + b; 
    printf("%d %d %d\n",a,b,c); 
} 

int func2(int x) 
{ 
//Track all values of x 

printf("%d\n",x); 
for (x = 7; x < 12; x += 1) 
{ 
printf("%d", x + 10); 
} 

return(x); 
} 

int func3(int x) 
{ 
x = x + 51; 
return(x); 
} 

int main() 
{ 
int a,b,c; 
//Track each array index value 
int arr[5]; 
a = 7; 
b = 3; 
c = 3; 
func1(5, 3, 6); 
func2(c); 
b = func2(c); 
for (c = 0; c < 5; c += 1) 
{ 
    arr[c] = c + 2; 
} 

for (b = 22; b > 7; b += -1) 
{ 
    arr[b + func3(a)] = a + b + c; 
    printf("%d\n", b); 
} 

for (b = 0; b < 5; b += 1) 
{ 
    printf("%d\n", arr[b]); 
} 

return(0); 
} 
+0

Что значит «просматривать эти значения в виде списка»? Вы хотите добавить другое значение в один массив (многомерные массивы) или другие? Таким образом, вы можете посетить массив непосредственно в окне отладки, например, часы или другие. –

ответ

1
arr[b + func3(a)] 

Перед отладкой дополнительно исправить ошибку в коде.

Здесь у вас есть массив из ограниченного доступа, который приведет к неопределенному поведению. Вы пытаетесь получить доступ к arr[22 + x], где размер массива равен 5.

Смежные вопросы