main()在C和C++中定义函数的正确(最有效)方法是什么- int main()或void main()- 为什么?如果int main()那么return 1或return 0?
这个问题有很多重复,包括:
main()函数的有效签名是什么?main()函数void main()和int main()?main()在C++中的签名main()? - 对于C++,确实有一个非常好的答案.main()C语言中的函数样式main()C中的方法类型int main()vs void main()在C中有关:
如何在C或C++中删除非空目录?有什么功能吗?rmdir只删除空目录.请提供一种不使用任何外部库的方法.
还告诉我如何删除C或C++中的文件?
人们用 void main() /*empty parens ()*/
我被教过要写 void main(void)
任何想法有什么区别?
几个星期以来,我一直在以自学成才的方式学习C编程,而且我对这个main()功能有一些疑问.
所有函数必须在它们的函数原型中声明,然后在它们的定义中声明.为什么我们不必先main()在原型中声明该函数?
为什么我们要用int main()而不是void main()?
返回0在main()函数中完全做了什么?例如,如果我编写一个程序结束main()函数,会发生什么return 1;?
为什么main()用户定义了功能?
我什么时候会使用void main()和int main()?
typedef int A;
typedef int B;
void foo(A arg){}
void main(void){
B wrongvar = 7;
foo(wrongvar);
}
Run Code Online (Sandbox Code Playgroud)
根据标准,这种结构是否应该返回警告/错误?那些最受欢迎的编译器呢?
示例:我们有变量,代表公斤和米,所有都是'int'类型.我们有一个功能,加工米.我们希望编译器能够捕获错误,这些错误与将千克意味着变量变量传递给该函数有关.
我相信Ada能顺利处理.现代C怎么样?
在语法上,不知道f/g是函数调用还是类型转换,而不知道它们是如何声明的.编译器是否知道解析步骤中的差异,或者他们通常在第二次传递中解决这个问题?
void f(int x){};
typedef short g;
int main(void){
((f)(1));
((g)(1));
return 0;
}
Run Code Online (Sandbox Code Playgroud) 这是我的计划:
main()
{
printf("hello world\n");
}
Run Code Online (Sandbox Code Playgroud)
编译时我收到此警告:
function should return a value
Run Code Online (Sandbox Code Playgroud)
当改变main()到void main()时,警告消失.
为什么会这样?
我目前正在完成一项任务,很好奇编译时这个警告是什么以及如何解决它.它将构建,但是当我调试它将得到一个错误屏幕.以下是出现的警告.
1> c:\ users\cesteves\documents\c programming\inventory\inventory\inventory.cpp(48):警告C4473:'scanf_s':没有为格式字符串传递足够的参数
注意:占位符及其参数需要2个可变参数,但提供了1个
注意:格式字符串'%s'需要缺少的可变参数2注意:此参数用作缓冲区大小
#include "stdafx.h"
#include <stdio.h>
void main()
{
struct date {
int day;
int month;
int year;
};
struct details {
char name[20];
int price;
int code;
int qty;
struct date mfg;
};
struct details item[50];
int n, i;
printf("Enter number of items:");
scanf_s("%d", &n);
for (i = 0; i < n; i++) {
printf("Item name: \n");
scanf_s("%s", item[i].name);
printf("Item code: \n");
scanf_s("%d", &item[i].code);
printf("Quantity: \n");
scanf_s("%d", &item[i].qty);
printf("price: \n");
scanf_s("%d", &item[i].price);
printf("Manufacturing date(dd-mm-yyyy): …Run Code Online (Sandbox Code Playgroud)