文档介绍:
1
. C语言上机实验其开发环境的选择也很重要,虽说名称上是一样,但网上下的还是有很
多的版本,有的下下来就不能正常运行,有的不管怎样都会出现 erros (即使是和书上
的一模一样),经过几经尝试终于找到了一个相对其他来说比较正常的 TC
.应用scanf输入数据时,应在同样的位置上输入同样的字符。
#include<>
void main(void)
{
int *p1,*p2,*p,a,b;
printf("please enter two integer numbers:\n");
scanf("%d,%d",&a,&b);
p1=&a;
p2=&b;
if(a<b)
{
p=p1;
p1=p2;
p2=p;
}
printf("a=%d,b=%d\n",a,b);
printf("max=%d,min=%d\n",*p1,*p2);
}
如上,如果输入数据 5 9,运行是就会出错。因为在“ scanf("%d,%d",&a,&b); "中字符
是“,”,不是空格。
错误结果:
正确结果:
)lease efitey tRJc integer ninnbePE - 万
1吗』司
i4x =9 ,nin ■&
*Toce^s returned 12 <0x0 execut ivn t ine : s 希君 楹my key to cqnt inu« ,
.注意区分清楚定义数组时,int a [i]与数组中元素a [i]的“ i ”的范围
的区别。如下程序:
#include<>
#define N 7
void main()
{
int a[N]={20,10,90,59,60,80,70};
int i,j;
for(i=0; i<N-1-i ;i++)
{
j=a[i];
a[i]= a[N-i-1];
a[N-i-1] =j;
2
}
for(i=0;i<N;i++)
printf("%3d",a[i]);
}
如果将上面程序中的红色部分的 N-1-i改成N-i ,在程序运行时就会出错
如:
#include<>
#define N 7
void main()
{
int a[N]={20,10,90,59,60,80,70};
int i,j;
for(i=0 ;i<N-i; i++)
{
j=a[i];
a[i]= a[N-i];
a[N-i] =j;
}
for(i=0;i<N;i++)
3
printf("%3d",a[i]);
}