无法找到错误 - Turbo C
我正在做一个简单的程序来添加两个数字。我做了一切正确的,但不知何故它显示一个错误。我使用TurboC的Windows7 64位(从filezilla下载)...我也使用devcpp,但是它有使用void main()的错误...为什么这是这样的? 为什么它不起作用?无法找到错误 - Turbo C
此外,任何人都可以提出一些好的软件来编程基于控制台为项目C,C++等?
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int num1=0,num2=0;
//printing hello world
//printf("Hello World!");
printf("Enter number 1 : ");
scanf("%d",num1);
printf("Enter number 2 : ");
scanf("%d",num2);
int num3 = num1+num2;
printf("The sum of %d and %d is %d",num1,num2,num3);
getch();
}
问题是与你的scanf()
。接受值时,您必须在变量前添加&
。一元&
返回它旁边的变量的地址,然后scanf()
将该值存储在该地址。但请注意,除非您确实要打印地址,否则您不需要在printf()
中使用&
。总之,改变你的scanf()
年代到
scanf("%d",&num1);
和
scanf("%d",&num2);
这是你的工作代码代码
#include<stdio.h>
int main()
{
int num1=0,num2=0;
//printing hello world
//printf("Hello World!");
printf("Enter number 1 : ");
scanf("%d",&num1); // see here
printf("Enter number 2 : ");
scanf("%d",&num2); // and here
int num3 = num1+num2;
printf("The sum of %d and %d is %d",num1,num2,num3);
}
与void main()
的错误是,它不再受理。在像TurboC这样的旧版本中,您可以使用void main()
,但该标准明确指出我们不应该使用void作为main()
,而应该使用int main()
。
阅读本参考
What should main() return in C and C++?
而且,不要使用<conio.h>
。它在标准中不被支持。如果你想清除屏幕,加上头文件<stdlib.h>
和使用system("cls");
关于更换getch()
,你可以只使用getchar()
。 (尽管在某些程序中,你将不得不使用两个或更多的getchar()
)
有一件事你应该知道,那就是TurboC和DevC++都过时了。
你应该可能会得到代码块。
因为在C99之前(您的IDE TurboC运行在比C99更早的版本上),您将得到“此处不允许的声明”错误,因此必须在块的开头声明变量。您可以使用Declaration not allowed here error in C作为参考
的情况下,谢谢你......你说conio.h不支持标准,那么我怎样才能清除我的屏幕? – 2015-03-25 12:05:32
还有一个问题......在第15行中分配第3个数字时,它显示错误“声明不允许在这里”......如何解决这个问题? – 2015-03-25 12:07:46
@RaunakHajela,将'int num3'移动到程序的开头,并使用'num3 = num1 + num2;' – 2015-03-25 12:17:21
我只专注于错误:
printf("Enter number 1 : ");
scanf("%d",&num1); //use & for input
printf("Enter number 2 : ");
scanf("%d",&num2); //use & for input
当您使用scanf()
,你必须提供你写使用&变量的地址。
scanf("%d",num1);
应该变成:
scanf("%d",&num1); //add the & to refer to the address
你并不需要一个更好的软件,你需要阅读一本关于C语言。 – axiac 2015-03-25 11:53:19
看起来它使用了很老的C标准,并且不允许你在函数中声明变量。 – Predelnik 2015-03-25 11:53:43
我知道C语言,并且在我的学校也使用过Turbo C,在那里它工作得很好。他们有Windows XP和早期版本安装在那里的机器。这只是与Windows7 – 2015-03-25 12:12:39