Very simple interpreter in C I made very simple interpreter in C and now, I want to make my code better.
Here is my code:
#define size_t unsigned long long

int printf(const char *format, ...);
int scanf(const char *format, ...);
void *memmove(void *str1, const void *str2, size_t n);
size_t strlen(const char *str);

int main()
{
    char ch[50];
    do
    {
        printf(&quot;&gt;&gt;&gt; &quot;);
        scanf(&quot;%s&quot;, ch);
        if (ch[0] == '&quot;' &amp; ch[strlen(ch) - 1] == '&quot;')
        {
            memmove(ch, ch + 1, strlen(ch));
            ch[strlen(ch) - 1] = '\0';
            printf(&quot;%s\n&quot;, ch);
        }
    }
    while(1);
}

GitHub Link
(I don't want to include standard libraries)
There are a number of issues in this very short program.
Unless there are coding standards that require otherwise, it is better to use typedef to define types rather than #define.
You are calling standard C libraries when you call printf(), scanf(), memmove() and strlen() unless you have written all of these functions on your own and linking in some sort of special manner.
It is not a good idea to redefine size_t at any point since it is defined by the system header files and may be different on different platforms (the Windows version of size_t is different than the Fedora Linux version of size_t for example).
The code contains a possible buffer overflow when performing the scanf(). The array ch is only 50 characters. This can lead to undefined behavior.
You don't need a long long for an array that is a maximum of 50 characters.