#include<stdio.h>//输入一个字符串,按相反次序输出其中所有字符
main()
{
char c1[100],c2[100],*p1,*p2;
int i=0,j=0,m;
gets(c1);
p1=c1;
p2=c2;
while (*p1++) i++;
for (;;)
{
p2[j]=p1[i-1];
j++;
i--;
if (i==0) break;
}
p2[j]='\0';
puts(p2);
} //为什么输出答案不对?错在哪里了?输出成了“烫烫烫” 晕
输入一个字符串,按相反次序输出其中所有字符(要解释不是要答案)
答案:2 悬赏:30 手机版
解决时间 2021-05-06 15:14
- 提问者网友:你给我的爱
- 2021-05-05 23:25
最佳答案
- 五星知识达人网友:执傲
- 2021-05-06 00:14
#include<stdio.h>
void main()
{
char c1[100]={0},c2[100]={0},*p1,*p2; //初始化之后,即使后面不改,也不会再出现乱码了
int i=0,j=0,m;
gets(c1);
p1=c1;
p2=c2;
while (*p1++) i++;
for (;;)
{
// 方法1
p1=c1; // 指针归位,因为现在的指针已经不指向数组首地址的位置了
p2=c2;
p2[j]=p1[i-1];
// 方法2
//c2[j] = c1[i-1]; // 比较简单的方式还是直接用数据下标
j++;
i--;
if (i==0) break;
}
p2[j]='\0';
puts(p2);
}
// 结果:
void main()
{
char c1[100]={0},c2[100]={0},*p1,*p2; //初始化之后,即使后面不改,也不会再出现乱码了
int i=0,j=0,m;
gets(c1);
p1=c1;
p2=c2;
while (*p1++) i++;
for (;;)
{
// 方法1
p1=c1; // 指针归位,因为现在的指针已经不指向数组首地址的位置了
p2=c2;
p2[j]=p1[i-1];
// 方法2
//c2[j] = c1[i-1]; // 比较简单的方式还是直接用数据下标
j++;
i--;
if (i==0) break;
}
p2[j]='\0';
puts(p2);
}
// 结果:
全部回答
- 1楼网友:不想翻身的咸鱼
- 2021-05-06 00:20
\0 不能手动输入, 你可以将最后一个字符不进行赋值, 系统会自动设置成\0的.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯