C (VS2010)에서 몇 가지 간단한 함수를 구현하려고합니다. 아주 쉬워야합니다. 하지만, 내가__cdecl LNK 2019 VS2010 C
오류 LNK2019를 수신하고 있습니다 : 확인되지 않은 외부 기호를 "1> test01.obj : 오류 LNK2019 : 확인되지 않은 외부 기호"INT __cdecl EX2 (INT, INT) "(EX2 @@ YAHHH @ Z?) 참조 오류 LNK2019 : 1> test01.obj _main 함수되지 않은 외부 기호 "무효 __cdecl EX1 (INT *를 INT)"(? EX1 @@ YAXPAHH @ Z)는 두 기능하지만 대한
_main 함수 참조 첫 번째 함수 (Ex1)를 만들 때 작동했습니다. 내게 잘 어울리는 선언 및 프로토 타입 .. 함수가있는 C 파일이 하나뿐입니다. 어떤 조언이있어서 기쁠 거예요.
#include <stdio.h>
//Function prototypes/////////////////////////////////
void Ex1(int*, int);
int Ex2(int, int);
/////////////////////////////////////////////////////
int main()
{
int select = 0, i, all_Ex_in_loop = 0, arrsize = 0;
int a = -3, b = 13; // EX 2 variables
int* arrPtr; //EX1 definitions
int arr[] =
{ 7, 5, -8, 3, 4, 21, -10, -3, 2, 4 };
arrsize = sizeof(arr)/sizeof(int);
arrPtr = arr;
printf(
"Run menu once or cyclically?\n(Once - enter 0, cyclically - enter other number) ");
if (scanf_s("%d", &all_Ex_in_loop) == 1)
do
{
for (i = 1; i <= 5; i++)
printf("Ex%d--->%d\n", i, i);
printf("EXIT-->0\n");
do
{
select = 0;
printf("please select 0-5 : ");
scanf_s("%d", &select);
} while ((select < 0) || (select > 5));
switch (select)
{
case 1:
Ex1(arrPtr, arrsize);
break;
case 2:
Ex2(a, b);
break;
//case 3: Ex3(); break;
//case 4: Ex4(); break;
//case 5: Ex5(); break;
}
} while (all_Ex_in_loop && select);
return 0;
}
// ---------------------------------------------- EX1 -------------------------------------------------------------
void Ex1(int* ptr, int size)
{
int i;
printf("Original array: ");
for (i = 0; i < size; i++)
{
printf("%d, ", ptr[i]);
}
for (i = 1; i < size; i++)
{
ptr[i] += ptr[i - 1];
}
printf("\n Updated array: ");
for (i = 0; i < size; i++)
{
printf("%d, ", ptr[i]);
}
printf("\n");
}
//---------------------------------------------------------------- EX2 ------------------------------------------------------------
int Ex2(int a, int b)
{
int firstVal = 0, secVal = 0, num = 0;
printf("Please enter numbers. -1 to finish: ");
while (num != -1)
{
scanf_s("%d", &num);
if (num > (a + b)/2 && num < b)
{
firstVal += num;
}
if (num > a && num < (a + b)/2)
{
secVal += num;
}
}
printf("\n The value is: %d", firstVal + secVal);
return firstVal + secVal;
}
재생할 수 없습니다. – Stargateur