马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
如图的程序我输入字符后为啥没反应?
#include <stdio.h>
#include <conio.h>
//void sc(char f);
char zf[10] = {'d', 'g', 'w', 's', 'k', 't', 'r', 'b', 'i', 'a'};
int main()
{
char sr;
int i;
for(i = 0; i < 10; i++)
{
printf("%c ", zf[i]);
}
printf("\n");
while(1)
{
sr = getch();
if(sr == 27)
{
break;
}
else
{
extern sc(sr);
}
}
return 0;
}
extern zf[10];
void sc(char f)
{
int j, i = 0;
for(; i < 10; i++)
{
if(f == zf[i])
{
j = i;
break;
}
}
if(0 == j)
{
for(i = 1; i < 10; i++)
{
printf("%c ", zf[i]);
}
printf("\n");
}
else if(9 == j)
{
for(i = 0; i < 9; i++)
{
printf("%c ", zf[i]);
}
printf("\n");
}
else
{
for(i = 0; i < j; i++)
{
printf("%c ", zf[i]);
}
for(i = j + 1; i < 10; i++)
{
printf("%c ", zf[i]);
}
printf("\n");
}
}
你这个是extern的理解有问题,extern是用在你编写其他的文件中的定义在本文件中使用声明用的,例如:在a.c中你定义了 int a=10;
你需要在main.c中使用就在main.c: extern int a;
|