online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#include<stdio.h> #include<stdlib.h> typedef struct BinarySearchTree { struct BinarySearchTree * left; struct BinarySearchTree * right; int val; } bst; bst * create(bst * , int); void inorder(bst * ); void preorder(bst * ); void postorder(bst * ); int main() { bst * root = NULL; int g, ch; while (1) { printf("\n 1) Insert Node\n 2) Preorder traversal\n 3) Inorder traversal\n 4) Postorder traversal\n 6) Exit"); printf("\n Enter your choice : "); scanf("%d", & ch); switch (ch) { case 1: printf("\nInsert value for the tree: "); scanf("%d", & g); root = create(root, g); break; case 2: printf("\nValues in Preorder Traversal : "); preorder(root); break; case 3: printf("\nValues in Inorder Traversal : "); inorder(root); break; case 4: printf("\nValues in Postorder Traversal : "); postorder(root); break; case 6: exit(0); } } } bst * create(bst * root, int p) { bst * temp, * pre, * ptr; temp = (bst * ) malloc(sizeof(bst)); temp -> val = p; temp -> right = temp -> left = NULL; if (root == NULL) { root = temp; } else { ptr = root; while (ptr != NULL) { pre = ptr; if (ptr -> val > p) ptr = ptr -> left; else ptr = ptr -> right; } if (pre -> val > p) pre -> left = temp; else pre -> right = temp; } return root; } void preorder(bst * root) { if (root != NULL) { printf("%d,", root -> val); preorder(root -> left); preorder(root -> right); } } void inorder(bst * root) { if (root != NULL) { inorder(root -> left); printf("%d,", root -> val); inorder(root -> right); } } void postorder(bst * root) { if (root != NULL) { postorder(root -> left); postorder(root -> right); printf("%d,", root -> val); } }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue