我写了一个小程序在C中打印“Hello world”。我不是C程序员,但我喜欢尝试它。在我的程序中有一个错误。请告诉我它是什么? 这是我的计划:
int main(){
printf("Hello World");
}
我用Java Experiences写了这篇文章。我找不到有什么问题。
答案 0 :(得分:7)
C语言中的完整hello world程序:
#include <stdio.h>
int main(void) {
printf("Hello World\n");
return 0;
}
然后编译(假设gcc)并执行它:
gcc -o test test.c
./test
答案 1 :(得分:7)
您不能像在Java中那样直接使用printf()函数。您应该告诉编译器您将使用输入/输出流。你可以在这一行告诉它:
#include <stdio.h>
你也应该在源代码的末尾输入这一行:
return 0;
这将告诉编译器:
“如果程序成功它将返回0否则它将返回任何其他数字”
这意味着如果你的程序成功,main()函数将返回0.然后编译知道程序是OK。
最后你的完整代码是:
#include <stdio.h>
int main() {
printf("Hello world");
return 0;
}
要编译它并看到“Hello World”一词,只需将此文件另存为.c文件并在程序目录中打开cmd并键入
gcc hello.c -o hello && hello
(将'hello.c'替换为您的文件名,将'hello'替换为您想要放入.exe文件的名称)
记住我的电脑是Windows。这个编译代码适用于Windows。如果您的操作系统是UNIX,就像OS一样然后使用此代码进行编译:
gcc hello.c -o hello
./hello
答案 2 :(得分:3)
首先,您必须使用头文件。
#include <stdio.h>
这样做会带来一个包含大量命令的头文件。这将使它识别“printf”代码片段。 接下来,您必须关闭您的程序。如果没有结束语句,程序将无法编译,因为它不知道这是否是代码的结尾。在程序结束时使用它......
return 0;
关闭程序,意味着编译器可以停止查找其他代码。您可能还想查看一些编程手册(有许多免费在线版本)来了解语法。
最后一件事:大多数C代码最后需要一个分号。对于“int main”语句不是这样,也不是我上面定义的头文件。但是,关闭程序的“返回”功能需要一个分号。
希望这有所帮助。
答案 3 :(得分:2)
最后还应包括暂停:
#include <stdio.h>
int main(void) {
printf("Hello World\n");
//Read a character from the console
getchar();
return 0;
}
答案 4 :(得分:2)
就像在Java程序中导入一样,在这里你需要在程序中使用include
个库。您已使用库函数printf
,但未包括stdio.h
。
答案 5 :(得分:2)
我同意有很多方法可以写出最简单的方法之一
#include<stdio.h>
int main(void){
printf("Hello World\n");
return 0;
}
您甚至可以按照上面的建议使用不同的方式。
答案 6 :(得分:1)
首先应该看一下“主要”的结构。尝试理解上面答案中已经解释过的各个部分。
“#include”:要包含在程序中的预处理指令。但为什么?因为您正在尝试使用其中定义的函数。
int:“main”程序的返回类型。但为什么?因为调用“main”的函数需要知道“main”程序是否正常运行。
main:代码的入口点。不要问为什么在这里: - )
main(void):告诉编译器我们没有将任何参数传递给程序“main”
返回0:因为你承诺“主要”,如果“主”能正常运作,你将返回一些东西。
最后代码:
#include <stdio.h>
int main( void )
{
printf( "Hello World\n" ) ; //Notice the '\n' here. Good coding practice.
return 0 ;
}
答案 7 :(得分:1)
#include <stdio.h> //Pre-processor commands<br/>
void main() //Starting point of the program<br/>{ //Opening Braces
printf("Hello World\n"); //Print Hello World on the screen<br/>
return 0;
} //Ending Braces
答案 8 :(得分:0)
检查一下它会起作用,我写了评论:
#include<stdio.h> //Pre-processor commands
void main() {
printf("Hello World\n"); //Print Hello World on the screen
}
答案 9 :(得分:0)
如果有人好奇的话,有两种不同的做法。这对于第一次理解并不是很好,这将是几个变体中提供的标准版本,并且有很好的解释,但是相当有趣,有时候很棘手。一旦您了解了有关 C 的更多信息,您可能想要了解以下变体的工作原理以及程序员如何进行此类混淆。
请注意, C 是非常简单的语言,可让您非常直接。因此,举例来说,++i
,i++
,i += 1
和i = i + 1
会转换为不同的汇编代码(如果您不使用编译器优化)。
clang -O3 hw.c && ./a.out
int [main]
和return 0;
可以隐含地表示:
#include <stdio.h>
main() { puts("Hello, World!"); }
#include <stdio.h>
int main() {
for(char *c = "Hello, World!"; *c; ++c)
if(__sputc(*c, stdout) != *c)
return EOF;
return 0;
}
__ sputc 定义为 here 。
#include <stdio.h>
main() {
long long P = 1,
E = 2,
T = 5,
A = 61,
L = 251,
N = 3659,
R = 271173410,
G = 1479296389,
x[] = { G * R * E * E * T , P * L * A * N * E * T };
puts((char*)x);
}
提示: long long
正好是8个字节,或8个字符。 Hello, World!
的长度为13个字节。
#define u unsigned char
#define v while(*x)
#define z(x) putchar(*x);
#define y(x) ++*x;
#define p(x) ++x;
#define e(x) --*x;
#define d(x) --x;
#define w(x) x x
main(){u *x=calloc(12,1);u *l=x;w(w(w(y(x))))w(y(x))v{p(x)w(w(y(x)))w(y(x))y(x)p
(x)w(w(w(y(x))))w(y(x))p(x)w(y(x))y(x)p(x)w(w(w(y(x))))y(x)w(w(d(x)))e(x)}p(x)w(
y(x))z(x)p(x)y(x)z(x)w(w(y(x)))w(y(x))y(x)w(z(x))w(y(x))y(x)z(x)p(x)w(y(x))z(x)p
(x)w(e(x))e(x)z(x)w(d(x))z(x)w(y(x))y(x)z(x)w(w(e(x)))w(e(x))z(x)w(w(w(e(x))))z(
x)p(x)y(x)z(x)free(l);}
#include <stdio.h>
#define BING(x,y) ((x)<<y)
#define BANG(x) (1<<x)
#define BOOM 1
int main () {
int x,y,z,w;
int V[3] = {BING(x=227380393,BANG(BOOM)+BOOM), x+(w=BOOM+BANG(BANG(BOOM)),
BING(47*y=17453197,BOOM)), x+y+BING(w*w*17*185527,BANG(BOOM))};
char *p=V;
while(*(p-BOOM)!=BOOM+BING(BOOM,w)) putchar(*p++);
return 0;
} /* Mind the comma operator! */
#include <stdio.h>
int main() {
// Some floating point numbers for testing
float b[] = {1.1431391224375825e+27, 6.6578486920496456e+28, 7.7392930965627798e-19, 3.2512161851627752e-9};
// Print all numbers in array b[]
puts(b);
return 0;
}
提示作者认为sizeof(float) == 4
。
在C语言中编写程序的方法还有很多,遇到它们的最佳方法是使用自己的方法或google。
答案 10 :(得分:0)
一个完整的 C 语言的 hello world 程序:
#include <stdio.h>
int main(void) {
printf("Hello World\n");
return 0;
}
Then compile (assuming gcc) and execute it:
gcc -o test test.c
./test
答案 11 :(得分:0)
您不能像在 Java 中那样使用 printf() 函数。你必须告诉编译器你要使用什么。 你可以这样说:-
#include <stdio.h>
您必须在最后输入此行:-
return 0;
那么你的完整代码是:-
#include <stdio.h>
int main(){
printf("Hello World");
return 0;
}
要编译它并看到“Hello World”这个词,只需将此文件另存为 .c 文件并在您的程序目录中打开 cmd 并键入:-
gcc hello.c -o hello && hello
(将“hello.c”替换为您的文件名,将“hello”替换为您要放在 .exe 文件中的名称)
记住我的电脑是 Windows。所以我只能为 Windows 操作系统编译。
答案 12 :(得分:-2)
int main(){
// printf, used to print (display) Hello World
printf("Hello World ! ");
// return 0, as the main function is of type int so it must return an integer value
return 0;
}