Tag: 返回值

C中函数的返回值

int ret(char *) { //nothing } int main(void) { printf(“%d\n”,ret(“foo”)); } 为什么函数ret返回一个垃圾值??? 和 int my_strlen(char *s) { if(*s) return 1 + my_strlen(s + 1); // or my_strlen(s+1) + 1; } 在上面的函数中,如果我没有错,my_strlen应该总是在条件失败时(即每当它到达’\ 0’时)返回垃圾值,因为没有其他情况或任何返回语句的错误情况。 所以对于任何有效的字符串,它应该总是返回1 +垃圾值。 但事实并非如此。 它工作正常。 它给出了任何字符串的精确长度。 为什么它不像“ ret ”函数那样返回垃圾值? 请清楚我的怀疑。 任何帮助将不胜感激。 感谢名单..

在C中将int转换为char

#include char* intToString(int N); int power(int N, int M) { int n = N; if (M ==0) return 1; int i; for( i = 1; i 1) { M /= 10;numberLen++; } int ar[numberLen]; char str[numberLen + 1]; int i; for(i = 0; i < numberLen; i++) { str[numberLen – i – 1] = (N%power(10,i+1))/(power(10,i)); […]

分配从函数返回的指针

我有一个看起来像这样的程序: EVP_PKEY *generate_RSA_key_and_uuid(unsigned char uuid[16]) { EVP_PKEY *key_p; key_p = EVP_PKEY_new(); return key_p; } int build_and_save_csr(int dn_entries, X509_REQ *req_p, EVP_PKEY *priv_key_p, char *passphrase) { priv_key_p = generate_RSA_key_and_uuid(uuid); } int makecsr(X509_REQ *req_p, EVP_PKEY *priv_key_p, char *passphrase) { if (build_and_save_csr(2, req_p, priv_key_p, passphrase) != 0) { fprintf(stderr, “Could not create csr file / private key…\n”); exit(1); } […]

什么“返回0x1;”是什么意思?

当在web上浏览项目的源代码时,我发现main中的一些return语句对我来说很奇怪: int main() { /* … */ return 0x1; } 所以主要是返回0x1 radix 16 ,但那是1 radix 10 ! 主要归还不应该0 ? 那是不对的,对吗? 顺便问一下, return 0x0好吗?

在C / Objective-C中将返回值放在括号中的意图是什么?

我遇到了一些代码,它们围绕括号中方法/函数的返回值。 那是做什么的? 我看到的代码拍了一张图片,调整了大小然后又返回了。 – (UIImage *)resizeImage:(UIImage *)image { // // some fascinating, but irrelevant, resizing code here // return (image); }

如何获取exec执行的程序的返回值?

我有这个c代码: if(fork()==0){ execl(“/usr/bin/fsck”, “fsck”, “/dev/c0d0p1s0”, NULL); } 它调用execl来运行fsck以检查文件系统/dev/c0d0p1s0 。 我的问题是:如何获得fsck的返回值? 我需要fsck的返回值来检查文件系统是否一致。 谢谢。

你什么时候能够返回NULL作为C函数的返回值?

我想知道你是否可以告诉我你什么时候能够返回NULL ,这是C中函数的结果。 例如, int lenght()不能返回NULL因为在return语句中需要一个int 。 但是函数struct node* find(int key) ,当使用链表时允许我返回NULL。

如果代码中没有return语句,函数在C程序中返回什么

我做了一个关于如何在C中递归地反转单链表的函数。 function如下。 struct node * reverseSLL2(struct node *p,struct node *temp) { struct node *temp1; if(p!=NULL) { temp1=p->link; p->link=temp; reverseSLL2(temp1,p); //return; } else { return temp; } } 我调用head = reverseSLL2(head,NULL),其中head是指向链表的第一个节点的指针。程序正常工作! 但是,我有两个问题: 1)除了最后一次调用之外,我对函数的所有调用都没有到达return语句,那么这些函数返回的是什么? 2)如果我编写(取消注释)在前面的代码中注释的return语句。 在那种情况下,函数返回什么? 谢谢。

如何返回多个值并将它们存储在main()函数中?

我想从函数返回两个或多个值,并希望将这些值存储到main()函数中。 我试图通过以下代码来做到这一点。 #include #include int main() { int num1, num2, s, p; printf(“Enter tow numbers: “); scanf(“%d %d”, &num1, &num2); p = function(num1, num2); s = function(num1, num2); printf(“Sum is: %d\nProduct is: %d”, p, s); return 0; } int function(int x, int y) { int sum, product; sum = x+y; product = x*y; return product, […]

什么是printf的返回类型

这可能是个愚蠢的问题,但我很困惑。 这就是我清除疑虑的原因。 昨天,在我的采访中我得到了一个问题 char ch=”Hello”; printf(“%d”,printf(“%s”,ch)); 我认为printf是一个void类型函数,因为我从未见过要分配给任何变量的printf函数。 所以,我告诉它,它会显示编译错误 。 因为,编译器不会找到返回类型的printf函数。 但是我错了。 输出是Hello5 。 我真的很困惑,这是怎么来的。