首页 > 电脑 > C++编程指针问题编程可运行代码 急!

C++编程指针问题编程可运行代码 急!

电脑 2023-09-12

C++编程指针问题编程可运行代码 ?

你给出的例子是申请了一个动态内存的数组,所以可以用指针的移动来输出下一个数,这样是合法的。 而你自己写的程序中,定义的a1是一个数,而不是数组,p指向整型数a1。 而p+1,我要说,这个语句确实指向了p下面一个内存位置的地址,但是,因为p+1没有向系统申请过,对它的调用是非法的,运气好的话也许运行起来也不会出错,可以看到p+1位置的用int数据类型解释的内容。不过这样毕竟是不安全的,也不是好习惯。最好像上面的兄弟说的那样用数组,或者申请动态内存。

求C语言指针代码

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

#include

void bubblesort(int *a,int n){

int i,j,t;

for(i=0;i

for(j=0;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语言指针使用问题

答案没错的,是你理解错了,这里不是要把r替换为s。 重点看这段代码: if(*p==ch) { *str=*p; (*str)++; str++; } 这里的意思是当p指向的字符和ch相等时,将str所指向的字符变为ch,然后再++对应这里也就是先变为r然后变为s,str++表示str指向下一个字符。这里的str一开始是指向program中的p字符,然后当p指针指向r字符时,str还是指向p字符,接着str将p字符改为r,然后又++改为s。接着p指针继续向下移动,一直到第二个r,然而此时的str是指向program中的第二个元素也就是r,然后重复和之前一样的步骤变为s。最后跳出循环后,*str

C语言编程 指针问题

1. 输出应该是25,但它的值为25.3 *dp+=(*np)++; 执行顺序如下 先执行(*np) 值为4 然后再执行 *dp+=(4)++; 结果为 21.3+4 原因是(4)++这里的值还等于4,若是++(4)则为5,这就是你觉得26.3的原因。 2.%6.2f 即整数部分输出6位,小数部分输出2位 %ld 输出长整型整数 %.lf 它的本意是输出长整型整数,所以在我的环境VS2005中,它输出 *np=5, *dp=25 VS2005下完整代码 #include "stdafx.h" void main(void) { long *np,a=4; double *dp,d=21.3;

有关C语言指针的问题

p1=&a1;这是把p1指针指向了a1变量所在的地址。。p2=&a2;这是把p2指针指向了a2变量所在的地址。 而t=*p1,这个*p1在右边就是取得p1所指向地址内的值,所以t=11。 *p1=*p2;左边*p1是指向a1变量地址,也就是和变量a1相当。。右边*p2是取得p2所指向的地址内的值22,这个运行结果实际就相当是a1=22。 *p2=t;左边*p2还是指向a2变量地址,也就是和变量a2相当。。运行结果就是a2=t; 所以这程序就是两个变量内容通过指针互换。。p1p2是代表指向地址的指针,并非本身就是地址,而指针本身对于编程者都是不可见的。 指针定义指向哪个变量地址,就可以替代这个变

标签:CC++ 信息技术 C(编程语言) 编程语言 编程

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18