Tag: 循环

C主循环没有100%cpu

#include int main() { while(!DONE) { /* check for stuff */ } return 0; } 上面的代码示例使用100%cpu,直到DONE为真。 如何实现一个循环的程序,只在DONE时终止,但不使用100%cpu? 现代语言使用类似App.ProcessMessages之类的东西来让操作系统暂时控制,然后返回循环。 我是C的新手,显然……使用最新的GCC,linux和windows(便携式解决方案会很棒!)

使用循环在数组中生成唯一随机数

所以问题是开发一个[5] [5]表,每个表包含1-100的唯一数字( 没有重复 ) 所以这就是我提出的: #include #include #include int main() { int outerLoop; int innerLoop; int board[5][5]; /* Array Name And Size*/ /* seeds the random number generator*/ srand(time(NULL)); int number; number = rand() % 101; /* Start a loop to generate a random integer between 1 and 100 and assign it into the array. […]

在C中看起来像三角形的输出

我写了这个程序, include int main(){ int size = 5; int row; int col; for (col=0; col<size; col++){ for (row=0; row<col;row++){ printf(" "); } for (row=0; row <(size-col) ; row++){ printf("*"); if(col<=size){ printf("*"); } } printf("\n"); } return 0; } 它应该像三角形一样 ********* ******* ***** *** * 但相反,每一行都有一个额外的*。 问题是什么? 非常感谢!

我如何使用结构?

好的,首先我会解释我的任务。 对于这个分配,我必须使用动态内存分配,我没有遇到任何问题。 我遇到的问题是弄清楚正确的工作方式。 对于我的任务,我需要创建一个程序,提示用户输入他们有多少学生然后要求提供以下信息; 学生证,出生日期和电话号码。 我需要使用循环来提示用户输入所有学生信息。 我需要创建一个循环,它将扫描所有学生ID并使用他们的生日找到最老的学生(循环必须能够扫描超过3名学生)。 这是我的代码,我已经从你们那里获得了一些建议甚至一些代码,但是在实现它们之后,我对我应该做的事情更加困惑。 请看一看并批评我。 编辑:我还添加了我收到的代码和错误 谢谢。 #include #include int main (void) { int * studentData= NULL; int * studentDataType=NULL; int students; int studentID; int year; int month; int day; long long phone; printf(“How many students are you entering records for:\n”); scanf(“%d”, &students); studentData=(int*)malloc((sizeof(int)*students)); struct studentDataType { int studentID; int year; […]

strlen()在for循环中调用多少次?

下面的strlen()函数是否只被调用一次(存储的值用于进一步比较); 或者每次进行比较时都会调用它? for (i = 0; i < strlen(word); i++) { /* do stuff */ }

迭代for循环中的所有无符号整数

假设我想迭代for循环中的所有整数。 为了便于讨论,假设我为每个整数调用一些未知函数f(unsigned x) : for (unsigned i = 0; i < UINT_MAX; i++) { f(i); } 当然,上面的代码无法遍历所有整数,因为它错过了一个:UINT_MAX。 将条件更改为i <= UINT_MAX只会导致无限循环,因为这是一个重言式。 你可以使用do-while循环来完成它,但是你会失去for语法的所有细节。 我可以吃蛋糕( for循环)并吃掉它(迭代所有整数)吗?

C / C ++:GOTO比WHILE和FOR更快吗?

我知道,每个人都讨厌GOTO,没有人推荐它。 但那不是重点。 我只想知道,哪个代码最快: goto循环 int i=3; loop: printf(“something”); if(–i) goto loop; while循环 int i=3; while(i–) { printf(“something”); } for循环 for(int i=3; i; i–) { printf(“something”); }

如何使用feof(FILE * f)?

我在使用do-while循环时遇到困难,当我们到达文件末尾时应该停止。 这是循环代码: do { if (pcompanyRow[0] != ‘#’ && pass == 1) { strtok(pcompanyRow, “:”); pcompanyName = strcpy(pcompanyName, strtok(NULL, “”)); pass = 2; fgets(pcompanyRow, 1024, f); } if (pcompanyRow[0] != ‘#’ && pass == 2) { strtok(pcompanyRow, “:”); pcompanySMSPrice = strcpy(pcompanySMSPrice, strtok(NULL , “”)); pass = 3; fgets(pcompanyRow, 1024 , f); } if (pcompanyRow[0] != […]

C:函数在代码中跳过用户输入

我遇到了这个function(战舰游戏的一部分)的问题,它将完美地运行它,但在后续的执行中,它会跳过: scanf(“%c”,&rChar); 出于某种原因,rChar在没有上述代码的用户输入的情况下变成另一个值。 我试过在整个函数中输入显示rChar值的printf语句。 函数Conv_rChar_Int()将用户输入的Char转换为整数值。 但是因为rChar没有作为指针传递,所以rChar的值rChar保持不变,直到用户在下一次迭代中替换它。 (再次使用printfvalidation)。 奇怪的是,它在这些代码行之间发生了变化。 并且从不提示用户输入rChar 。 printf(“please enter the row you want to place your %d ship in\n”,length); scanf(“%c”,&rChar); 请记住,它只发生在第一次之后。 即使我在每次迭代后重新初始化变量rChar , r , c和dir ,这个问题仍然会发生。 我99%肯定问题是在这个函数内而不是在它内部调用的任何函数中(因为rChar在每一行之后保持不变,除了上面的两行之外)。 提前感谢您的帮助。 如果您对代码有任何疑问,我会尝试解释一下。 int Gen_Ship_Place(int length, int flag3, int PlayGrid[10][10]){ int ShipPlaceFlag = 0; //coordinates and direction int r; char rChar; int c; int dir; […]

如何在C中制作动态大小的数组?

我已经习惯了PHP,但我开始学习C.我正在尝试创建一个逐行读取文件并将每行存储到数组的程序。 到目前为止,我有一个逐行读取文件的程序,甚至可以打印每行,但现在我只需要将每行添加到数组中。 我的朋友昨晚告诉了我一些关于它的事。 他说我必须在C中使用多维数组,所以基本上是array[x][y] 。 [y]部分本身很简单,因为我知道每行的最大字节数。 但是,我不知道该文件将有多少行 。 我想我可以让它循环遍历文件,每次只增加一个整数并使用它,但我觉得可能有一种更简单的方法。 任何想法甚至暗示正确的方向? 我感谢任何帮助。