Tag: 函数

C中的DB2包

我试图在C中为db2编写一个包文件。 但我只是想知道可以使用所有包含文件和function的内容。 我在约克大学的这个链接中看到了这个例子。 它解释了很多,但我不知道包含库及其function的资源是什么。 非常感谢您的帮助。 http://www.eecs.yorku.ca/course_archive/2012-13/W/3421/db2notes/programs/sage.sqc

理解C中的递归

这是一个递归程序。 但我不明白在这个项目中发生的事件顺序 #include count(int); main() { int x=5; count(x); } count(int y) { if(y>0) { count(–y); printf(“%d “,y); } } 输出是: 4 3 2 1 0 … 但是我没有得到第一次调用count(5)和调用count(4)时会发生什么。 控件是否立即进入函数的开头? 或者首先它打印y的值然后再次进入函数count()的开头?

C一个函数的明确声明

我在Linux和gcc 4.2.3上。 对于下面的代码部分,隐式调用lp_parm_talloc_string函数,然后定义它: char *lp_parm_string(const char *servicename, const char *type, const char *option) { return lp_parm_talloc_string(lp_servicenumber(servicename), type, option, NULL); } /* Return parametric option from a given service. Type is a part of option before ‘:’ */ /* Parametric option has following syntax: ‘Type: option = value’ */ /* the returned value is talloced in […]

指针和二进制搜索树

我正在开发一个使用二叉搜索树的程序(作为练习)。 我的问题是,当我尝试添加一个客户时 (在我的代码行65-69中间)我得到一个BS_node未声明的错误,虽然我在此函数中插入了struct BST_node * root ..我的部分代码如下,只是为了让读者更容易阅读,如果要求我可以上传完整的代码! 谢谢! #include #include #include #define MAX_STRING 50 void flush(); struct customer { char *name; char *address; char *email; }; struct double_linked_list { struct customer *data; struct double_linked_list *previous; struct double_linked_list *next; }; struct double_linked_list *customers_head=0; struct BST_node { struct double_linked_list *data; struct BST_node *left; struct BST_node *right; }; […]

是否需要在头文件中声明所有C函数

我是否需要在头文件中声明我在.c文件中使用的所有函数,或者我可以直接在.c文件中声明和定义? 如果是这样,在这种情况下.c文件中的定义是否也算作声明?

C中的静态函数和变量

我知道在面向对象语言中使用静态变量的目的是什么,但是,我不明白在C中使用“static”关键字的含义是什么。有人能解释一下吗?

codechef:smallfactorial中的错误答案错误

#include int fact(int k) { int j,f=1; for(j=1;j<=k;j++) f*=j; return f; } int main() { int t,i,n[100],s[100],j; scanf("%d",&t); for(i=0;i<t;i++) { scanf("%d",&n[i]); } for(j=0;j<t;j++) { s[j]=fact(n[j]); printf("%d \n",s[j]); } return 0; } 系统会要求您计算一些小正整数的阶乘。 输入 整数t,1 <= t <= 100,表示测试用例的数量,后跟t行,每行包含一个整数n,1 <= n <= 100。 产量 对于输入处给出的每个整数n,显示一个值为n的行! 例 样品输入:4 1 2 5 3样品输出:1 2 120 6

为什么不能在函数中修改结构的成员变量?

我很好奇为什么在作为参数传递给函数时不能修改结构的变量。 我知道参数是按值传递的,但是在传递struct变量时,您将其引用作为值传递。 当然,C不会在堆栈上创建结构的副本,因为传入的结构引用的值与将结构的指针传递给函数的值相同。 #include #include typedef struct String { char* name; int x; } String; /* Func Protos */ void foo(String str); void bar(String * str); void banjo(String str); int main() { String str = *(String *)malloc(sizeof(String)); str.x = 5; /* x == 5 */ foo(str); /* x == 5 still */ printf(“%d\n”, str.x); banjo(str); […]

传递矩阵作为参数

我是c的新手,我正在使用CUDA编译器。 我想声明五个矩阵,从[1] [1]到[5] [5]。 用随机值初始化它们。 打印这些值。 我已经展示了我写的全部代码。 我遇到了问题 传递矩阵作为参数 初始化矩阵(应该是常量) #include #include void printMatrix(int **a, int rows, int cols) { for(int i=0; i<rows; i++){ for (int j=0; j<cols; j++){ printf("%d\t", a[i][j] ); } printf("\n"); } } int main() { int N; for (int n=0; n<=5; n++) N = n; int a[N][N]; for(int i=0; i<N; i++) […]

使用c中的指针将2d数组传递给函数

这是我第一次不得不在这里问一个问题通常不需要,但这次我只是想不出来。 基本上我正试图在控制台中创建1和0(随机位置的1和0)的网格。 1s是木屑,0s代表空白区域。 要做到这一点,我必须使用此函数初始化和填充二维数组并返回指向已完成数组的指针 int* createEnvironment(int width, int height, int numWoodChips) 然后我需要使用此function打印2d数组 void printEvrionment(int* environment, int width, int height) 这就是我到目前为止所拥有的 int enviroWidth = 20; int enviroHeight = 20; int* createEnvironment(int width, int height, int numWoodChips); void printEvrionment(int* environment, int width, int height); void freeArray(int width, int* environment); int main(int argc, char **argv) { int *arr […]