main() int a[9]=1,2,3,4,5,6,7,8,9,i,*p,*q; p=a;q=&a[7]; while(p!=q) (*p)++;p++;q--;
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了main() int a[9]=1,2,3,4,5,6,7,8,9,i,*p,*q; p=a;q=&a[7]; while(p!=q) (*p)++;p++;q--;相关的知识,希望对你有一定的参考价值。
main()
int a[9]=1,2,3,4,5,6,7,8,9,i,*p,*q;
p=a;q=&a[7];
while(p!=q)
(*p)++;p++;q--;
for(i=0;i<8;i++)printf("%d,",a[i]);
程序运行后的输出结果是 ?
A)2,3,4,5,5,6,7,8,9, B)1,2,3,4,5,6,7,8,9,
C)2,3,4,5,6,7,8,9,10, D)1,2,3,4,5,7,8,9,10,
求详解
而for循环打印,i<8,只能打印8个数,而答案中是9个数,原题中也许是i<=8?
如果按照我的假设,那应该选A
p指向第一个数,q指向最后一个数,如果p不等于q,则p指向的内容+1,同时p向后移动,q向前移动,直到p和q相等,即同时指向5的时候退出循环。 参考技术A 你的程序明显是错误的。是不会打印任何东西的。因为p不可能等于q。需要修改q的位置,也许原题中q=&a[8];?
而for循环打印,i<8,只能打印8个数,而答案中是9个数,原题中也许是i<=8?
如果按照我的假设,那应该选A
p指向第一个数,q指向最后一个数,如果p不等于q,则p指向的内容+1,同时p向后移动,q向前移动,直到p和q相等,即同时指向5的时候退出循环。 参考技术B p指向第一个数,q指向最后一个数,如果p不等于q,则p指向的内容+1,同时p向后移动,q向前移动,直到p和q相等,即同时指向5的时候退出循环,就是这样哦!!!!
int main(int argc,char *argv[])参数的应用
#include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> //a.out src.txt dest.txt //argv[0] int main(int argc,char *argv[]) { char src[20] = {0}; char dest[20] = {0}; int i; for(i = 0; i < argc; i++){ printf("%s\n",argv[i]); } return 0; }
以上是关于main() int a[9]=1,2,3,4,5,6,7,8,9,i,*p,*q; p=a;q=&a[7]; while(p!=q) (*p)++;p++;q--;的主要内容,如果未能解决你的问题,请参考以下文章
#include<stdio.h> main() int a[10]=1,2,3,4,5,6,7,8,9,10,*p=&a[3],*q=p+2; printf("%d\
java二维数组int[][]a=1,2,3,,4,5,6,7,8,9啥意思,