Clion IDE 评论我的第二部分代码。我能做什么?
Clion IDE comments my second part of code. What can I do?
您好,我正在为有限自动机编写一些代码,但这并不重要。
当我尝试在 CLion 中编写时,我的代码的第二部分被注释了(来自第 32 行案例 JEDNORADKOVA)。您知道我该如何修复我的 CLion 或者问题出在哪里吗?
我的代码:
#include <stdio.h>
typedef enum {START ,POSSIBLE_COMMENT, SINGLE_LINECOMMENT, MULTILINECOMMENT,MULTILINECOMMENT_MAYBE_END, QUOTATION_MARKS} tStates;
int main() {
tStates state = START;
printf("Delete of comments. Enter input \n");
int sighn ;
while((sighn=getchar()) != EOF)
{
switch (state) {
case START:
if (sighn == '/') {
state = POSSIBLE_COMMENT; }
else{
putchar(sighn);
}
case SINGLE_LINECOMMENT:
if (sighn == '\n')
state= START;
case MULTILINECOMMENT:
if (sighn == '*')
break;
case MULTILINECOMMENT_MAYBE_END:
case QUOTATION_MARKS:
break;
}
}
return 0;
}
我在 CLion 中的代码
我在 VS Code 中的代码
阅读 CLion 中的消息:“Unreachable code :32”,错误很明显。
我已经格式化了你的来源,但它似乎不是你在 CLion 中的那个。由于缩进和大括号混乱,我认为你的右大括号太多了。
关于:
case MOZNA_POZNAMKA:
if (znak == '/')
stav = JEDNORADKOVA;
else
putchar('/');
putchar(znak);
stav = START;
break;
不管 znak
中的值如何,这将打印一个或两个“/”字符,然后将下一个 'switch' 选择器设置为 START
可能不是您想要的结果在接下来的几个 cases
中从未被执行
您好,我正在为有限自动机编写一些代码,但这并不重要。
当我尝试在 CLion 中编写时,我的代码的第二部分被注释了(来自第 32 行案例 JEDNORADKOVA)。您知道我该如何修复我的 CLion 或者问题出在哪里吗?
我的代码:
#include <stdio.h>
typedef enum {START ,POSSIBLE_COMMENT, SINGLE_LINECOMMENT, MULTILINECOMMENT,MULTILINECOMMENT_MAYBE_END, QUOTATION_MARKS} tStates;
int main() {
tStates state = START;
printf("Delete of comments. Enter input \n");
int sighn ;
while((sighn=getchar()) != EOF)
{
switch (state) {
case START:
if (sighn == '/') {
state = POSSIBLE_COMMENT; }
else{
putchar(sighn);
}
case SINGLE_LINECOMMENT:
if (sighn == '\n')
state= START;
case MULTILINECOMMENT:
if (sighn == '*')
break;
case MULTILINECOMMENT_MAYBE_END:
case QUOTATION_MARKS:
break;
}
}
return 0;
}
我在 CLion 中的代码
我在 VS Code 中的代码
阅读 CLion 中的消息:“Unreachable code :32”,错误很明显。
我已经格式化了你的来源,但它似乎不是你在 CLion 中的那个。由于缩进和大括号混乱,我认为你的右大括号太多了。
关于:
case MOZNA_POZNAMKA:
if (znak == '/')
stav = JEDNORADKOVA;
else
putchar('/');
putchar(znak);
stav = START;
break;
不管 znak
中的值如何,这将打印一个或两个“/”字符,然后将下一个 'switch' 选择器设置为 START
可能不是您想要的结果在接下来的几个 cases
中从未被执行