在C语言中,行上的数据本身做什么?它没有';t似乎是用二进制编译的

在C语言中,行上的数据本身做什么?它没有';t似乎是用二进制编译的,c,C,这个代码是做什么的 void main(void) { "Hello World!"; //This, which doesn't seem to be included in the binary 0; //And other stuff } 它看起来像是有效的C代码,但我不确定它的用途。编译器可以自由删除任何未使用的表达式。您需要将该字符串指定给以下内容:char*greeting=“Hello World!”,但如果没有任何内容引用问候语,编译器或链接器也可以将其删除。仅因为某个内容

这个代码是做什么的

void main(void)
{
 "Hello World!"; //This, which doesn't seem to be included in the binary
 0; //And other stuff
}

它看起来像是有效的C代码,但我不确定它的用途。

编译器可以自由删除任何未使用的表达式。您需要将该字符串指定给以下内容:
char*greeting=“Hello World!”,但如果没有任何内容引用
问候语
,编译器或链接器也可以将其删除。仅因为某个内容在语言中是有效的句子,并不意味着它也是有用的句子或完全合理的句子。任何优化编译器都将消除此类未使用的无副作用的表达式语句。如果要将5个内容复制到控制台,可以使用printf()相关的:。另外,
void main(void)
应该是
int main(void)
。如果你有一本书告诉你要使用
voidmain(void)
,那就把它扔掉,找一本更好的。这些不过是评论而已。据我所知,这类事情的唯一用途是创建对未引用变量的引用(以避免编译器警告)。