当前位置:首页 » 编程语言 » c语言指针代码

c语言指针代码

发布时间: 2022-09-25 19:35:29

A. 【c语言】关于指针。 代码如下,求解

首先,奉劝楼主不要再纠缠 i++*++i 诸如此类的代码了!
这样的代码极其 不规范 ,它的行为是 未定义 的!!!
不同的编译器,可以有不同的运算结果!
但有一点可以确定:执行之后,i值增加了2!而中间的计算过程未定义!

TurboC、BorlandC:输出 5
VS2010(Visual C++ 11):输出 9
gcc:未作测试,你可以试试看

详细请查看我的博客文章:http://hi..com/chenqa08/blog/item/108ea51cc7e6fa4efa19b841.html

B. 求C语言指针代码

用指针法实现冒泡法排序的C语言程序如下

#include<stdio.h>

void bubblesort(int *a,int n){

int i,j,t;

for(i=0;i<n-1;i++){

for(j=0;j<n-1-i;j++){

if(*(a+j)<*(a+j+1)){

t=*(a+j);

*(a+j)=*(a+j+1);

*(a+j+1)=t;

}

}

}

}

int main(){

int i,a[]={32,98,51,28,12,38,57,43,115,21};

bubblesort(a,10);

for(i=0;i<10;i++){

printf("%d ",a[i]);

}

return 0;

}

C. 请教C语言 指针数组 代码

#include<stdio.h>

intd[1024];

intmain()

{

intN;

scanf("%d",&N);

for(inti=1;i<=N;i++)scanf("%d",&d[i]);

int*itor=d;

intMax=-1,*u;

for(inti=1;i<=N;i++)

{

itor++;

if(*itor>Max)

{

Max=*itor;

u=itor;

}

}

intt=*itor;

*itor=*u;

*u=t;

itor=d;

intMin=1000000;

for(inti=1;i<=N;i++)

{

itor++;

if(*itor<Min)

{

Min=*itor;

u=itor;

}

}

t=*itor;

*itor=*u;

*u=t;

itor=d;

for(inti=1;i<=N;i++)

{

itor++;

printf("%d",*itor);

}

return0;

[您的采纳是我们前进的不竭动力]

D. C语言程序设计 指针

变量前面加&代表取出这个变量的地址,&又叫取址符
指针前面加*代表取出,指针所指向的内存里的数据(值),*又叫取值符
p是指针,n是变量
计算机解析代码是从右到左,所以
*&n = *(&n)
&n代表取出n在内存中的地址,取址
*&n,就是对&n在取值
*&n和n是等价的
所以下面的都是等价的
*p = *&n
*p = n
p = &n
就好比小明住在番茄花园
小明家的地址就是番茄花园
番茄花园里的值就是小明
n代表小明,
&n就是小明的家(番茄花园)
*&n就好比问小明的家里住着谁,答案依然是小明
就好比我老婆的老公还是我。
再来理解一下*p
p是一个指针,p就是一个地址
p就是番茄花园
*p就是再问,番茄花园里住着谁
就好比有一个人叫小壮的,想找小明聚聚,但是不知道小明家的地址,他就找来和小明最要好的朋友小强,通过小强的他给了你一个字条,上面写着小明的地址,这张字条就是指针,指针就是一个记录地址东东,如果哪天小明搬家了,这张字条也就作废了,所以指针指向的是一个内存地址,如果这个地址被释放了,这个指针也就作废了,因为指针就是一张带着地址的纸。

E. C语言指针编程

代码文本:

#include "stdio.h"

#define N 10

#define F(x) ((x)>0 ? (x) : -(x))

int f(int *p){

int i,mini;

for(mini=0,i=1;i<N;i++)

if(F(p[mini]) > F(p[i]))

mini=i;

printf("%d ",p[mini]);

return mini;

}

int main(int argc,char *argv[]){

int a[N],i;

printf("Enter the %d integers... ",N);

for(i=0;i<N;scanf("%d",a+i++));

printf("The subscript is %d ",f(a));

return 0;

}

F. 急求C语言代码,文件 指针 字符串

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>

staticchar**dictTable=NULL;
staticcharsearchString[255];
staticintnum=0;

staticvoidreadFromFile(char*filename);
staticvoidwriteToFile(char*filename,intID,intEID,intFID);
staticintgetID(void);
staticintgetEID(void);
staticintgetFID(void);
staticvoidclear(void);

intmain(intargc,char*argv[])
{
char*in="in.txt";
char*out="out.txt";
intID,EID,FID;
readFromFile(in);
if(num==0)
{
printf("file:%s读取失败! ",in);
return0;
}
ID=getID();
EID=getEID();
FID=getFID();
writeToFile(out,ID,EID,FID);
clear();
return0;
}

voidreadFromFile(char*filename)
{
FILE*in=NULL;
in=fopen(filename,"r");
if(in!=NULL)
{
fscanf(in,"%d",&num);
dictTable=(char**)malloc(sizeof(char*)*num);
for(inti=0;i<num;i++)
{
dictTable[i]=(char*)malloc(255*sizeof(char));
fscanf(in,"%s",dictTable[i]);
}
fscanf(in,"%s",searchString);
}
if(in!=NULL)fclose(in);
}

voidwriteToFile(char*filename,intID,intEID,intFID)
{
FILE*out=NULL;
out=fopen(filename,"w");
if(out!=NULL)
{
fprintf(out,"%d E%d F%d",ID,EID,FID);
fclose(out);
}
}

intgetID(void)
{
intID=0;
for(inti=0;i<num;i++)
{

if(strcmp(dictTable[i],searchString)==0)
{
ID=i+1;
break;
}
}
returnID;
}

intgetEID(void)
{
intEID=0;
intnoMatchCount=0;
for(inti=0;i<num;i++)
{
if(strlen(dictTable[i])!=strlen(searchString))continue;
for(intj=0;j<strlen(searchString);j++)
{
if(dictTable[i][j]!=searchString[j])noMatchCount++;
}
if(noMatchCount==1)
{
EID=i+1;
break;
}
}
returnEID;
}

intgetFID(void)
{
intFID=0;
for(inti=0;i<num;i++)
{
intnoMatchCount=0;
intdictSize=strlen(dictTable[i]);
intsearchSize=strlen(searchString);
if(abs(dictSize-searchSize)!=1)continue;
if(strncmp(dictTable[i],searchString,dictSize>searchSize?searchSize:dictSize)==0)
{
FID=i+1;
break;
}
}
returnFID;
}

voidclear(void)
{
for(inti=0;i<num;i++)
{
if(dictTable[i]!=NULL)free(dictTable[i]);
}
free(dictTable);
}

G. C语言用指针编写程序

#include<stdio.h>
#defineN5
#defineM5
voidf(inta[][M],intn,intm,int*s){inti,j;
for(i=0;i<n;i++,s++){
*s=a[i][0];for(j=1;j<m;j++)if(*s<a[i][j])*s=a[i][j];
}
}
voidmain(){inta[N][M],s[N],i,j;
for(i=0;i<N;i++)for(j=0;j<M;j++)scanf("%d",&a[i][j]);
f(a,N,M,s);
for(i=0;i<N;i++)printf("%d ",s[i]);
}

H. c语言 用指针算 详细代码

I. C语言指针程序

#include<stdio.h>
#include<string.h>
char
*fun(char
*s,char
*t)//函数功能是在字符串S中找字符串T
{
char
*p,*r,*a;
a=NULL;//是一个标志,开始没查找到
//开始s=&s[0]
while(*s)//从S
的第一个字符开始查找,直到遇到'\0'
{
p=s;
r=t;
while(*r)//从T
的第一个字符开始查找,直到遇到'\0'
if(*r==*p)//如果在S字符串中找到了第一个
T字符串的T[0],
{
r++;//在比较T[1]
t[2]....
p++;//同上
}
else
break;
if
(*r=='\0')
a=s;//表明查找到了
s++;
}
return
a;//返回NULL没到到,否则找到了
}
main()
{
char
s[100],t[100],*p;
printf("\n
please
enter
string
S:");
scanf("%s",&s);
printf("\n
please
enter
string
T:");
scanf("%s",&t);
p=fun(s,t);
if(p)//真,为找到了
printf("\n
the
result
is
:%s\n",p);
else
printf("\n
not
found!\n");
}

J. c语言指针问题,代码如下 char *p = "tasklist"; printf("%s\n",p); printf("%c\n",*p);

注意%s是以字符串的形式输出,从p指向的地址开始输出,一直到遇到'\0'为止,所以printf("%s\n",p);是输出tasklist

热点内容
怎么查看数据库名 发布:2024-12-30 01:52:17 浏览:101
如何形容一个电脑的配置 发布:2024-12-30 01:43:00 浏览:535
腾讯云代理服务器团长 发布:2024-12-30 01:40:41 浏览:188
铠侠tc10固态硬盘有缓存吗 发布:2024-12-30 01:36:27 浏览:877
睿威摄像头密码是多少 发布:2024-12-30 01:24:36 浏览:902
连接本地sql数据库 发布:2024-12-30 01:23:39 浏览:132
声控戴耳机解压视频 发布:2024-12-30 01:22:55 浏览:306
php数组记录 发布:2024-12-30 01:22:05 浏览:421
笔记本5开梦幻要什么配置 发布:2024-12-30 01:19:42 浏览:502
压缩mb 发布:2024-12-30 01:12:16 浏览:138