A new approach to an old language

Read the press release
DCC

$dcc --help

DCC Help brings the power of Generative AI to the Debugging C Compiler,
utilising extra context to produce helpful, contextual explanations.

dcc program.c -o program ./program program.c:11:37 runtime error - index 5 out of bounds for type 'int [5]' Don't understand? Get AI-generated help by running: dcc-help dcc-help Here is an AI generated explanation. Be careful - it may be wrong! The error you are seeing is a runtime error. It occurs when you are trying to access an element of an array that is outside of its valid range. In this case, the array data has a size of 5, which means its valid indices are from 0 to 4. In your code, you are using a while loop to iterate over the elements of the data array. You correctly use a condition i is less than 5 to ensure that the loop only runs while i is less than 5. However, you forgot to consider the fact that array indices start from 0. So, when i becomes 5 in the loop, it is actually trying to access the element at index 5, which is out of bounds. The runtime error occurs when you try to print the "Final value" using data[i] after the while loop. At this point, i is 5, so it is trying to access data[5], which does not exist and leads to undefined behavior. To fix this error, you should change the condition in the while loop to i less than 5 (to account for the valid indices of the array) and move the line printf("Final value was: %d\n", data[i]); inside the while loop, after i++. This way, it will print the final value of data[i] while i is still valid.

Context-Rich Explanations

DCC Help generates error explanations that go beyond the surface, with access to the source code, compiler output and stack variables at time of error.

Always available

No more struggling with error messages; explanations at your fingertips when you need them!

Seamless Integration

DCC Help seamlessly integrates with the DCC compiler, within the command line environment

Natural language error explanations

DCC Help breaks down cryptic compiler error messages into simple explanations.