鱼C论坛

 找回密码
 立即注册
查看: 2960|回复: 2

[已解决]clion里面怎么在一个项目里创建两个.c文件,满足他们两个文件运行不同的代码

[复制链接]
发表于 2023-10-9 12:22:28 | 显示全部楼层    本楼为最佳答案   
在一个项目中创建两个.c文件,满足它们可以运行不同的代码,需要在一个文件中定义main函数,另一个文件中定义其他函数,然后在main函数中调用其他函数。

例如,在一个名为sort.c的文件中编写插入排序的代码:

  1. void insertionSort(int arr[], int n)
  2. {
  3.     int i, key, j;
  4.     for (i = 1; i < n; i++)
  5.     {
  6.         key = arr[ i];
  7.         j = i - 1;

  8.         while (j >= 0 && arr[j] > key)
  9.         {
  10.             arr[j + 1] = arr[j];
  11.             j = j - 1;
  12.         }
  13.         arr[j + 1] = key;
  14.     }
  15. }
复制代码


在另一个名为search.c的文件中编写二分查找的代码:

  1. int binarySearch(int arr[], int l, int r, int x)
  2. {
  3.     if (r >= l)
  4.     {
  5.         int mid = l + (r - l) / 2;

  6.         if (arr[mid] == x)
  7.             return mid;

  8.         if (arr[mid] > x)
  9.             return binarySearch(arr, l, mid - 1, x);

  10.         return binarySearch(arr, mid + 1, r, x);
  11.     }

  12.     return -1;
  13. }
复制代码


在一个名为main.c的文件中,调用这两个函数:

  1. #include <stdio.h>
  2. #include "sort.c"
  3. #include "search.c"

  4. int main()
  5. {
  6.     int arr[] = { 12, 11, 13, 5, 6 };
  7.     int n = sizeof(arr) / sizeof(arr[0]);

  8.     insertionSort(arr, n);

  9.     int x = 13;
  10.     int result = binarySearch(arr, 0, n - 1, x);
  11.     (result == -1) ? printf("Element is not present in array")
  12.                    : printf("Element is present at index %d", result);

  13.     return 0;
  14. }
复制代码


这样,您就可以在一个项目中创建两个.c文件并运行不同的代码了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-22 12:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表