sed  -E '/^\s*\/\*/!bx ; /\*\/\s*$/!bx ; /\*\/[^;]+;\s*\S+.*\/\*/bx ; d;  :x' draft 
 If the comment line contains a (second)clsing comment endmarker followed by statement ;at least one non-whitespace character and eventually bythen another comment start then there is code inside so branch past the delete to x
/\*\/[^;]+;\s*\S+.*\/\*/bx
 Testing for a valid code construct (????; followed by /*) means that this will reject malformed syntax such as
/* between two comments */ x = 0;  could be some malformed code */
To keep any text between comments that may have been 'meant to be code' then this section of the regex would be changed to look for at least one character before the next comment is opened
/\*\/.+\/\*/bx
Both of the above rely on the comments being well formed.
Since we found no valid code then delete
/* Comment 1 */
printf("It is /* Comment 2 */\n");
x = 5; /* Comment 3 */
            /* Comment 4 */
/* Comment 5 */ y = 0;
            /*
             * Comment 6
             */
            // Comment 7
/* between two comments */ x = 0;  /*could be some code */
/* between two comments */ x = 0;  some malformed*some code */
printf("It is /* Comment 2 */\n");
x = 5; /* Comment 3 */
/* Comment 5 */ y = 0;
            /*
             * Comment 6
             */
            // Comment 7
/* between two comments */ x = 0;  /*could be some*some code */
 
                