c语言中字符指针加加操作,C语言 指针操作练习

/*

*  题目:

*   将一字符串用数组输出:

*   要求如下:

*   1、字符串str=“ls  -wl  -jsj  lst  dwoc  sllj –woih  “;字符串中的空格是无规律的,有可能一个空格,也有可能两三个空格。

*

*   2、将字符串输出到数组arr[0]----arr[9]中,要求从ls后面开始输出,arr[0]=-wl,

*   arr[1]=-jsj;

*   arr[2]=lst;一直输到arr[9],字符串不够的话,用NULL

*

*   运行环境: turboc 2.0

*   日期: 2008 - 5 - 24

*   coder: sparkvivid

*/

#include "stdio.h"

main()

{

int i,j=0,k;

char str[]="ls  -wl  -jsj  lst  dwoc  sllj  -woih  ";

char * arr[10];/*定义字符指针数组,用来保存字符串地址*/

char * p;

/*初始化字符指针数组为全空*/

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

{

arr[i] = NULL ;

}

/*

将"-wl"的地址用arr[0]保存,

将"-jsj"的地址用arr[1]保存,

将"lst"的地址用arr[2]保存,

将"dwoc"的地址用arr[3]保存,

将"sllj"的地址用arr[4]保存,

将"-woih"的地址用arr[5]保存,

*/

for( i=2 ; str[i]!='/0' ; i++)

{

if(str[i] != ' ')

{

arr[j] = &str[i] ;

j++ ;

for(k=i ;str[k] != ' ' ;k++)

{

}

i = k;

}

}

/*如果arr[i]不为空,则输出arr[i]中保存的字符串*/

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

{

if( arr[i] != NULL )

{

p = arr[i] ; /*当前字符传地址赋给p*/

/*如果当前指针p不指向空格,则输出当前p指向的字符,如果p指向空格,则跳出while循环*/

while(*p != ' ')

{

printf("%c",*p);

p++ ; /*指针p往后移动一个字符*/

}

printf("/n");

}

}

}

运行结果 :

33d4b400dff33e732c075f45100786bf.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值