源程序:求从m到n的数的和
void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10},m,n,sum;
int *p;
scanf("%d%d",&m,&n);
p=a;
sum=0;
for(p+m-1;p<a+n;p++)
sum=sum+*p;
printf("%d",sum);
getch();
}
我已经输入了3 5,即m=3,n=5,可是为什么结果不是12,而是15?
一个经典的c语言指针问题题目
for(p+m-1;p
C语言指针的一个问题
(1) 第一个框里的代码 short* temp = *p1; 等价于下面的两条语句:short* temp;temp = *p1;所以,后面 p2=temp;和上面是一致的, 没错.(2)第二个框里的代码 没错, 指针就一个该指向指针, 但是你这里赋值一个值.这种做法是错误的, 不过对C语言来说, "错的"的意思是"不能保证正确", ...
一个C语言指针问题。求大佬解答?
在这个程序中,我们首先提示用户输入方阵的尺寸,然后输入方阵的元素。接着,我们通过遍历方阵的每一行,并使用指针指向每行对应列的元素,来求出方阵对角线元素之和。最后,我们输出结果。程序的输出示例如下:include <stdio.h> int main(){ \/\/ 方阵的尺寸 int n;printf("Enter the size of the m...
问一道C语言指针题目 为什么p q地址交换以后mn的值不会交换?
m,n 的值没有交换。自然数值不变。指针指向地址交换,p 原指向 m, 现指向 n, q 原指向 n, 现指向 m, 所以变了。就如,m,n 是 甲,乙2人。p,q 是 镜子,p 原照着 m, q 原照着 n,现在 p 改照 n, q 改照 m.p,q 里的 影子变了,甲,乙2人 没变。
一道C语言指针类问题(有答案,解释一下过程)
从 i=0;i<2;i++ j+=2 这两句,可以得知,分析的字符是p[0][0]、p[0][2]、p[1][0]、p[1][2],即 '3'、'9'、'2'、‘8’if((p[i][j]-'0')%2) 是判断上述字符转换为数字后,哪个是奇数(模2不等于0),可以得知是 '3'、'9'num初始值是0,第一次分析出3后 num ...
C语言关于指针的一题。
main(){ int a[]={2,4,6},*prt=&a[0],x=8,y,z; \/*定义整形数组a,把2、4、6依次存入数组a的前三个地址 中,定义一个整形指针prt,并把数组a中首地址的值赋值给 prt指向的地址中*\/ for(y=0;y<3;y++)z=(*(prt+y)<x)?*(prt+y):x; \/\/把prt指向的值与x进行比较,...
C语言指针的题目(怎么算的)
void fun(char *a,char *b){ a=b; \/\/ b覆盖了a的原值,也就是b和a都是指向同一个地方,存贮'a'的地方 (*a)++; \/\/a指向的内容加1,'a'变'b'。}
C语言 ~~ 指针问题 题目: 输入3个数字,用指针比较且用指针换位置 就是...
int *p1,*p2,*p3; \/\/三个指针变量分别指向三个数 int temp; \/\/临时变量用于交换 printf("请输入三个数字:");scanf("%d%d%d",&num1,&num2,&num3);p1=&num1;p2=&num2;p3=&num3;if(*p1<*p2){ temp=*p1;p1=*p2;p2=temp;} if(*p1<*p3){ temp=*p1;p1=*p3;p3=temp...
问一个关于C语言指针地址的问题?
1 int a=100;2 int b=(int)&a;2、在定义变量语句中的int *b和表达式中的*b确实不代表同一个意思。int *b中的*和int一起代表一种整型的指针类型,你可以将int*作为一个整体来理解,它表示一种类型。表达式中的*b才是做指针运算的,表示取出b的值所表示的地址中的值(b所指向的地址中的值...
c语言这几道题 关于指针的 望大神解答
1、D选项,*x本身就错误,因为x是int类型,没法使用*操作符。2、A之所以错是因为代码中有一句q=NULL,也就是说q是一个空指针了,你再向里面写东西就错了,而且你在vc6.0中可以试一下,马上会出现一条0xc000 0005的写异常。。3、是的,你不管给它赋值多少都是4的。。就好比一个4平方米的房子...