void main()
{
float f = 0.98;
if(f <= 0.98)
printf("hi");
else
printf("hello");
getch();
}
Run Code Online (Sandbox Code Playgroud)
我在这里遇到这个问题.使用不同的浮点值得到不同的结果.为什么会这样?
当我遇到C程序的return语句/退出语句时,我只是编写了一个快速程序来计算一些东西.
我声明main()是类型的int,所以我必须输入一个整数,否则我的程序将无法正确编译.但是,制作main一个Boolean甚至是否可以接受void?
我知道创建一个C程序的标准方法是返回一个值,这样可以解决任何问题,但不会以Boolean同样的方式工作吗?另外,我是否能够宣布它void并且在终止后仍然运行我的程序时操作系统没有问题?
感谢您的帮助.
我心里有一个疑问。我只想知道子进程通过使用fork()系统调用创建的子进程的最大限制是多少?我正在将UBUNTU OS(12.04)与3.2.0-45通用内核一起使用。
我编写了一段代码并通过QA C进行了分析,但它显示了一个警告"x"具有外部链接,并且在没有任何先前声明的情况下进行定义.请帮助我理解这一点.
码:
#include <stdio.h>
int x;
void main()
{
}
Run Code Online (Sandbox Code Playgroud) 刚刚遇到一些(非常)遗留代码(最初编写为C但现在编译为C++)并使用宽度说明符将零填充字符串
void main()
{
unsigned long val = 2413;
printf("V1: %08lu \n", val);
printf("V2: %8.8lu \n", val);
}
Run Code Online (Sandbox Code Playgroud)
结果是一样的
V1: 00002413
V2: 00002413
Run Code Online (Sandbox Code Playgroud)
那么为什么要使用V2呢?从昔日开始,它是std lib的遗留方面吗?
编译器详细信息:用于x86的Microsoft(R)C/C++优化编译器版本19.10.25019
C程序在特殊情况下在Linux中可能无法执行。示例:您分配了一些空间,但操作系统拒绝了它。
char *buffer = (char *) malloc(1024);
if (buffer == NULL)
return ENOMEM;
Run Code Online (Sandbox Code Playgroud)
此故障由交付给OS的返回码标记。
所以我的问题是,当程序检测到错误时,约定是什么?它应该返回正数还是负数返回码?
我的教授告诉我在UNIX / Linux中始终返回负错误代码。但是errno码都是正整数。同样,EXIT_FAILURE中的define-Statement为1,为正整数。所以我的代码应该像这样:
char *buffer = (char *) malloc(1024);
if (buffer == NULL)
return -ENOMEM;
Run Code Online (Sandbox Code Playgroud)
还是喜欢上面的代码?我从Linux内核模块知道,在大多数情况下,它们在失败时会返回负错误代码。
感谢您的帮助。
在 C 语言中,之前编写函数声明main似乎是多余的。
我不想使用这些方法:
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
C 的方式是什么?
#include <stdio.h>
void printHello(void);
int main(void)
{
printHello();
}
void printHello(void)
{
printf("Hello World\n");
}
Run Code Online (Sandbox Code Playgroud)
环境:我正在使用一个 make 脚本,该脚本使用 clang 并在哈佛的 cs50 云 IDE 中进行附加检查。IDE 使用 c99 版本的语言设置,如果没有函数声明则无法编译。
我的测试:仅使用 clang 仍然错误相同;使用GCC实际上编译时只带有警告。
为什么海湾合作委员会有效? GCC 看到一个没有前面声明的函数调用,它假设该函数返回 int 并编译。(c99 之前的行为)
已解决:c99 定义消除了隐式类型,因此所有函数都必须在使用前声明。在 C 语言中,没有等效的 for:if __name__ == '__main__':在文件顶部写入 main() 的用途。
感谢约翰·博德的帮助;现在有意义了。
我对 C 编程还很陌生,例如,如果我们有:
void main(int argc, char* argv[]){
char checkThisLineForExclamation[20] = "Hi, I'm odd!"
int exclamationCheck;
}
Run Code Online (Sandbox Code Playgroud)
所以有了这个,exclamationCheck如果“!”我将如何设置为 1 存在,如果不存在则为 0?非常感谢您提供的任何帮助。
例如:
#include <stdio.h>
int main (void) /* Why int and not short int? - Waste of Memory */
{
printf("Hello World!");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
为什么main()通常用inttype 定义类型,如果通常只返回0或1,则在32位内存上分配4个字节,而其他类型(例如short int(2个字节,32位)甚至char(1个字节,32位)会节省更多的内存吗?
它浪费了内存空间。
注意:问题不是给定线程的重复;它的答案仅对应于返回值本身,而与明确关注的数据类型不对应。
问题是针对C和C ++的。如果这些答案之间的答案有所变化,请在提到特定语言的上下文时分享您的智慧。
在大多数情况下int main()不返回任何东西,它甚至不必,因为没有return不会给出错误.那么为什么main必须返回一个int?为什么无效主要不可能?
编辑:我的意思是,如果通常没有,为什么int main()是标准return?