Tag: 分号

这个if语句实际上是如何工作的

如何在不使用分号的情况下打印hello world一直是一个流行的问题。我知道许多代码,但这个听起来很奇怪,因为我无法得到它背后的逻辑。请帮我知道它是如何打印的。 if(printf(“hello world”)){}

每次运行函数时都要进行Malloc’ing并重置数组

struct variables { unsigned int counter; char *bra; unsigned int maxb; int *findtheking; unsigned int numoright; }; int getlen = 0; // I give getlen a value in another function int solo = 0; mat.bra = (char*)malloc(sizeof(char)*getlen); mat.bra = ‘\0’; struct variables pal = { 0, ‘\0’, 0, 0, 0 }; struct variables mat = […]

c中的分号和逗号

为什么这些程序有效,为什么我没有出现“分号丢失”错误? 有了这个问题,我想问一下,当我可以跳过分号。 据我所知,分号是句子终止符。 在我们使用逗号而不是分号的情况下编写这些类型的语句是否正确。 在program1中有一个否定然后打印然后getchar()在一行中没有分号和使用逗号。 类似地,在程序2中使用了否定赋值,printf和getchar()。 我们可以使用逗号写多少行而不使用分号。 程序1: #include int main() { int i = 0xAA; ~i, printf(“%X\n”, i),getchar(); return 0; } 计划2: #include int main() { int i = 0xAA; i=~i, printf(“%X\n”, i),getchar(); return 0; }

为什么没有分号会出错,但有太多分号没有?

考虑这个C代码: #include ; int main(void) { puts(“Hello, world!”);; ; ; return 0; ; ; ; }; 在这里,我几乎可以在任何地方放置分号。 只是为了好玩 。 但令人惊讶的是它奏效了 ! 我收到了关于分号后分号的警告,但其他绝对错误的分号也起作用了。 如果我在放置后忘了放一个分号,我会收到以下错误 错误:预期’;’ 在’返回’之前 为什么没有大量错误和无用的分号会导致错误? 在我看来,他们应该被视为语法错误。