评论长度超过一行

标签 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;

}

最佳答案

&& 表示 bool 值,并且相等性测试是 == 而不是 =,

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

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

当然,这总是会生成 FALSE,因为它是一个不可能的语句。

即使该行按照您的想法工作,它也总是错误的,因为您似乎针对斜杠和星号和新行测试 c ,这是不可能的。您需要检查斜杠设置一个标志并检查下一个字符是否是星号然后验证注释末尾之前是否有一个新行(*/)

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

关于评论长度超过一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34774641/

相关文章:

comments - 您遇到过的最好的源代码注释是什么?

mysql - 如何在 Wordpress 中获取新提交帖子上方的最新评论帖子?

在 Unix 上用 C 取消 UDP 接收

C 将 char * 复制到 char[]

c - 使用 libxml2 在现有 XML 中附加数据

linux - 是否只搜索从我执行搜索的位置开始至少两层深度的文件?

c - 暂停()如何工作?

linux - 检测MTD分区是否为UBI格式

c - 在嵌入式 C 中使用 RTOS 处理多任务文件系统的最佳方法?

version-control - 注释是否显示添加/修改了哪些版本代码有用?