指针与数组练习题

指针与数组练习题

题1:(a)编写程序,用来读一条消息,然后反向显示出这条消息。程序的输出格式如下:
Enter a message : Don’t get mad, get even.
Reversal is : .neve teg ,mad teg t’noD
提示:读消息一次读取一个字符(用getchar函数),并且把这些字符存储在数组中,当数组满了或者读到字符‘\n’时停止读操作。
(b)修改上述程序,用指针来代替整数来跟踪数组中的当前位置。

答:
(a)程序如下:
#include<stdio.h>
#include<stdlib.h>
#define N 100

int main()
{
char ch[N];
int i=0,m;
printf(“Enter a message:”);
do{
ch[i]=getchar();
i++;
if(i>N-1)
break;
}while(ch[i-1]!=’\n’);
m=i-2;
printf(“Reversal is:”);
for(m;m>=0;m–)
printf("%c",ch[m]);
printf("\n");
system(“pause”);
return 0;
}

(b)程序如下:
#include<stdio.h>
#include<stdlib.h>
#define N 100
int main()
{
char ch[N],*p;
p=ch;
printf(“Enter a message:”);
do{
p++=getchar();
if(p>=ch+N)
break;
}while(
(p-1)!=’\n’);
printf(“Reversal is:”);
for(p=p-2;p>=ch;p–)
putchar(*p);
printf("\n");
system(“pause”);
return 0;
}
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值