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,

求详解

你的程序明显是错误的。是不会打印任何东西的。因为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的时候退出循环。
参考技术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啥意思,

作业三 4,5

冒泡排序

用c语言程序设计定义包含10个元素的整型数组,并将0,1,2,3,4,5,6,7,8,9,这10

列表内又嵌套一个列表的话,还能对其进行排序吗,例如[1,2,3,4,[5,6,7]]