C语言指针移动的问题,程序结果是53,怎么得来的? c语言二维数组指针

8970℃ VERONICA

C语言指针移动的问题,程序结果是53,怎么得来的?c语言二维数组指针

C语言文件指针自动移动

文件内部指针不是就是用打开文件函数所赋值的那个指针,

打开函数的指针,是文件流的指针,指向这个文件流。

内部指针指向当前操作在文件流中的位置

fp是文件指针的话

可以使用ftell(fp)来获取当前内部指针位置。

也有fseek函数来设置内部指针位置,这些函数调用的时候,必须使用文件流的 指针。文件流的指针始终是这个fp,但内部指针的位置是一直在移动的,没有一个可见的内部指针的变量来让你操作,只对文件指针操作就可以了。

读写文件的时候内部指针自动移动,是C的IO系统管理来实现的,这个文件流其实仍然是IO,跟键盘鼠标都是由IO系统管理来做的,不用去关心底层的具体操作,只要知道读写操作以后内部指针变了,就行。

关于C语言中指针的问题?

int *p;和int* p;是一样的

printf中的%p是打印指针地址

C语言编程结果出现-858993460

第七行:scanf("% d",p++);中多了个空格。

if(x[j]=x[k])应该改成if(x[j]==x[k]),估计你也知道为什么吧。一般结果出现随机数是因为指针或者所要输出的结果不是你所指的内存块,指向任意地方的结果。

还有,你的程序功能是排序,貌似实现的不对吧,自己改改吧。

c语言中有个程序

书上结果是65535

我的结果是4294967295

这是怎么回事?

编译环境的问题

unsigned 字节数的问题

如果unsigned 是 2字节的,那么就是65535;

如果unsinged是4字节的,就是你的答案。现在基本上都是4字节的