Tag: function

我的function或主要问题是什么?

除了我的“播放”function之外,我的所有代码都按照我希望的方式工作。 我正在尝试让程序读取“记录”function创建的.txt文件,然后回放说明。 不幸的是,当用户按下P以播放他们记录的音符时,它只是不断弹出相同的菜单而不是前进到程序的下一步。 任何帮助高度赞赏,它可能是一些小的,但我一直在努力,我正在努力解决自己的问题。 #include “aservelibs/aservelib.h” #include #include #include float mtof(int note, float frequency); FILE play(void); FILE record(void); FILE record2(void); int main() { FILE *textFilePointer; FILE *textFilePointer2; int counter = 0; char user; do { printf(“Press A to Record 1st Melody (A), B to Record 2nd Melody (B)\nP to Play Melodies (P):”); scanf(” %c”, &user); […]

具有多个值(变量)的返回语句如何工作?

我试图了解C函数中的值和返回值是如何传递的。 我按照以下方式浏览了一段代码: #include int fun(int ii, int jj) { int kk, ll; kk = ii + jj; ll = ii * jj; return (kk,ll); } int main() { int i=4, j=5, k, l; k = fun(i, j); l = fun(i, j); printf(“%d %d\n”, k, l); return 0; } 显然,当我尝试通过fun()返回2个值时,我没有收到任何错误。 此外, fun()返回的值是ll即20(= 4 * 5)而不是kk 。 […]

通过Interop / pinvoke传递C#回调函数

我正在编写一个C#应用程序,它使用Interop服务来访问本机C ++ DLL中的函数。 我已经使用了大约10种不同的function。 现在我不知道如何处理将回调作为参数传递,以便DLL可以调用我的代码。 这是DLL的函数原型: typedef void (WINAPI * lpfnFunc)(const char *arg1, const char *arg2) 并且允许我传递上述类型的函数: int WINAPI SetFunc(lpfnFunc f) 这是委托和函数定义的C#代码: public delegate void Func(string arg1, string arg2); public static void MyFunc(string arg1, string arg2) 这是我的SetFunc Interop函数的C#代码: [DllImport(“lib.dll”, CharSet = CharSet.Ansi)] public static extern int SetFunc(Func lpfn); 最后这里是我调用SetFunc函数并将其传递给我的回调的代码: SetFunc(new Func(MyFunc)); 不幸的是,我的function应该被调用。 SetFunc函数的返回值是返回Success的错误代码,所以要么它没有调用我的函数,要么因为我的代码错误而无法正常工作。

在C中使用不同的库

我只是从头开始编写一个程序,它可以计算用户输入的大写和小写字母以及空格。 从那时起,我发现那些特定function的代码已经在另一个库中预先编写了! 我的问题是,我在下面编写的所有代码如何通过使用来简化 isupper(int c) , islower(int c)和isspace(int c) ,它们在ctype.h中定义。 #include int main(void){ int iochar, numdigits=0, numlower=0, numupper=0, numwhites=0; printf(“Please enter a phrase:\n\n”); while((iochar=getchar())!=EOF) { if ((iochar==’ ‘)||(iochar==’\t’)||(iochar==’\n’)) { numwhites++; putchar(iochar); } else if((iochar>=’0′)&&(iochar<='9')) { numdigits++; putchar(iochar); } else if(('a'<=iochar)&&(iochar<='z')) { numlower++; putchar(iochar-32); } else if(('A'<=iochar)&&(iochar<='Z')) { numupper++; putchar(iochar); } else putchar(iochar); } printf("%d white […]

指针和整数之间的比较

我想通过check_line和check_triangle使用geo_analyzer函数检查结果。 谢谢你的赞赏。 我不知道为什么我会收到错误。 除了我在ubuntu上编译我在这里得到错误 if(check_line==1) return 1; // line if(check_triangle==1) return 2; //triangle 函数中的函数代码 double calculateSlop(double a,double b,double c,double d){ return (dc)/(ba); // like (y2-y1)/(x2-x1) } int geo_analyzer( double p1_x, double p1_y, double p2_x, double p2_y, double p3_x, double p3_y, double p4_x, double p4_y){ double m1,m2,m3; m1=calculateSlop(p1_x,p2_x,p1_y,p2_y); m2=calculateSlop(p2_x,p3_x,p2_y,p3_y); m3=calculateSlop(p3_x,p4_x,p3_y,p4_y); if(check_line==1){ return 1; // line } […]

function论证太少..这是什么意思我哪里出错了?

这是我的代码: #include int validate(int low,int high); int main () { //Declare Variables float strength, speed, defense, intelligence; float strengthRatio, speedRatio, defenseRatio, intelligenceRatio; int strength_F, speed_F, defense_F, intelligence_F; float sum; int luck; float PStrength=10; float PDefense=20; float PIntelligence=40; int PHP=10; float EStrength=30; float EDefense=40; float EIntelligence=25; int EHP=10; int sel; float attackp; float magicp; int low=1; […]

输出中的逗号分隔

如何在1000,10000,100000,1000000之类的输入中给出的数字的数字之间得到逗号,并将数字的数字分开,例如1,000 10,000 100,000 1,000,000作为输出 C中的任何函数(库)是否为此创建程序?

函数参数和getch()的奇怪行为

我在使用包含getch()的参数调用函数时遇到了一些奇怪的行为。 以下面的代码为例: _Bool IsKeyDown(char c) { if(!kbhit()) return 0; char ch1 = getch(); printf(“%c\n”, c); return 0; } /* * */ int main(int argc, char** argv) { while(1) { IsKeyDown(‘a’); IsKeyDown(‘b’); Sleep(100); } return (EXIT_SUCCESS); } 当使用此代码按下某个键时,无论如何,它将始终打印’a’,这是第一个函数的参数。 问题是,’a’不是被调用的第二个函数的参数,但仍然打印’a’而不是’b’。 这是为什么会发生的?

C语言中的toupperfunction

#include #include char* strcaps(char* s) { while (*s != ‘\0’) { toupper(*s); s++; } return s; } 。 int main() { char makeCap[100]; printf(“Type what you want to capitalize: “); fgets(makeCap, 100, stdin); strcaps(makeCap); return 0; } 这个程序编译得很好,但是当我运行它时,它不输出任何东西。 我在这里失踪了什么?

如何覆盖C库中的fprintf? 如何将GCC选项添加到顶层CMakeLists.txt?

我知道如何在简单的示例中覆盖C-lib函数。 但我需要的是一个真正的项目,它有数百个调用fprintf的文件。 在每个文件中,都有一个”#include ” ,以及数十或数百个fprintf调用。 我想让所有这些fprintf做我自己的工作。 我无法删除”stdio.h”并添加”#include ” ,其中myprint.h定义了自己的工作的fprintf的实际function或宏。 “stdio.h”在项目中有许多其他调用。 我想要一个简单的解决方案。 谢谢! 我的问题是否足够明确?… 2014.03.08更新:首先向所有女性致敬…… 请看下面的第二篇文章。