- 從0到1,迴歸基礎,夯實基礎 ,點滴積累,成就未來
例1:
file1.c
#include <stdio.h>
int externA
int main()
{
int power(int n);
int b = 3, c, d, m;
printf("input a and m :\n");
scanf_s("%d%d", &externA, &m);
c = externA*b;
printf("%d*%d=%d\n", externA, b, c);
d = power(m);
printf("%d**%d=%d\n", externA, m, d);
system("pause");
return 0;
}
file2.c
添加extern 函數可以使file1中定義的外部變量的作用域擴展到本文件;
extern externA;//使file1中定義的外部變量的作用域擴展到本文件;
int power(int n)
{
int i, y = 1;
for (int i = 0; i <= n; i++)
{
y *= externA;
}
return y;
}
//extern 在main中函數聲明使用,調用其他文件的外部函數;
例2:
f1.c
#include <stdio.h>
int main()
{
extern void enter_string(char str[]);
extern void delete_string(char str[], char ch);
extern void print_string(char str[]);
char c, str[80];
enter_string(str);
printf("a delete char :");
scanf_s("%c", &c);
delete_string(str, c);
print_string(str);
return 0;
}
f2.c
void enter_string(char str[80])
{
gets(str);
}
f3.c
void delete_string(char str[], char ch)
{
int i, j;
for (i = j = 0; str[i] != '\0'; i++)//
if (str[i] != ch)//如果str[i]!=ch 則保留到str[j++]中;
str[j++] = str[i];
str[j] = '\0';
}
f4.c
void print_string(char str[])
{
printf("%s\n", str);
}