评论超过一行

时间:2016-01-13 18:44:28

标签: c filesystems comments

所以我想知道这是否正确;我必须在一个文件中计算超过一行的注释:

    void commentsLongerThanOneLine(FILE* inputStream, FILE* outputStream) {
char c;
int i = 0;
while ((c = fgetc(inputStream) != EOF)) {
    if (c == '/' && '*' && '\n') i++;
}
printf("Number of comments longer than one line is : %d\n", i);
return 0;

}

1 个答案:

答案 0 :(得分:0)

&安培;&安培;表示布尔值,等于的测试是== not =,

您需要单独测试每个指标。

if ((c == '/') && (c == '*') && (c == '\n'))

当然这总是会产生假,因为这是一个不可能的陈述。

即使这条线按你想象的方式工作,它也总是假的,因为你似乎用斜线测试c和asterix和新线这是不可能的。您需要检查斜杠设置标志并检查下一个字符是否为星号然后验证在注释结束前是否有新行(* /)

//可以跨越多行,你需要检查/ *是否在//内部,反之亦然。