Tag: 返回值

在C / C ++中从main()返回值的目的是什么?

可能重复: main()函数返回值? main()应该在C / C ++中返回什么? 在C和C ++语言中从main()返回值的目的是什么? 返回值如何帮助我们? 可以使用返回值来实现重要的任何事情吗?

C:通过堆栈/寄存器问题返回值

我是C的新手,有一点我无法理解。 当函数返回不大于寄存器的东西时 – 我的编译器将它放在EAX中。 当我返回大结构(不是指针而是结构本身)时 – 它通过堆栈返回。 我的问题是:编译器如何知道如何调用另一个对象导出的函数? 有一个调用约定(比如stdcall)但它是关于传递参数,而不是读取返回的值,对吗? 应该有一些规则,如“如果声明的返回值大于EAX,则从[bp -…]”获取。 还有一个:是否正确地说我想要返回的对象,比寄存器大,应该存储在堆中并由指针返回以防止所有堆栈操作? 谢谢。

检查没有return语句的函数的返回值

使用下面的示例,请解释为什么有时不需要return语句? 函数具有返回类型,但缺少return语句。 同时,程序编译和工作正常。 请帮助我更好地理解这一点 5 6 char* handleInput() { 8 fgets(buffer, 1024, stdin); 9 **// return buffer;** <—- COMMENTED RETURN 10 } 11 12 void main() { 14 char* ptr = handleInput(); 15 int flag = atoi(ptr); 16 if (flag < 0) break; 17 printf("You entered: %s\n", ptr); 20 }

使用C TCP套接字,可以’发送’返回零吗?

使用TCP套接字时,C sendfunction是否有可能返回零? 手册页只是说它将返回发送的字节数,但我不确定它是否只会在无法发送任何数据时返回-1。

Linux / bash中程序返回值的有效范围是多少?

我有一个C程序,它返回一个整数值。 我很惊讶地发现,当从shell提示符检查返回值时,我得到的值为模数256。 /* prog.c */ int main(…) { return 257; } – > ./prog.e > echo $? 1 为什么我看不到整数? 这种行为记录在哪里? 如何将整个32位值获取到shell?

函数返回没有return语句的值

为什么下面的代码输出正确? int GGT没有return语句,但代码确实有用吗? 没有设置全局变量。 #include #include int GGT(int, int); void main() { int x1, x2; printf(“Bitte geben Sie zwei Zahlen ein: \n”); scanf(“%d”, &x1); scanf(“%d”, &x2); printf(“GGT ist: %d\n”, GGT(x1, x2)); system(“Pause”); } int GGT(int x1, int x2) { while(x1 != x2) { if(x1 > x2) { /*return*/ x1 = x1 – x2; } else […]