studyhubC tracer

C tracer

Paste a C program, type the input it reads, and Run — then step through it one line at a time. A CisCode test failed? Paste the output it expected too, and find the step where yours went wrong. For the course’s own lists, stacks, queues, trees and graphs, open the C visualizer. Your code stays on this device.

Program
or ⌘ Enter
What it can run

The C the programming courses teach — printf and scanf, strings and the standard libraries, arrays, functions, pointers, function pointers, malloc and free, structs, enums, compound literals, linked lists and trees — as gcc would on Linux. Pointers show what they point at, and linked nodes are drawn. Where real C would quietly print garbage, like reading a variable before it has a value or a node after it is freed, the tracer stops and says so.

rand gives the numbers Linux gives for a seed, so srand(42) is the same here as there. time has no clock to read: it always answers 1 January 2025, so srand(time(NULL)) seeds the same numbers on every run. A recursive function can go several hundred calls deep — about a thousand when it is a simple one — before the tracer stops and says so; real C goes much deeper. Whole numbers are exact up to 9,007,199,254,740,991, which is less than a long long holds. It does not run union, goto, macros with parameters, or files.