c语言 为了删除字符串后的所有尾部空格

#include<stdio.h>#defineN5intmain(){inti,a[N],n=N,*p=&a[N];for(i=0;i<N;i++)scanf("%d"... #include <stdio.h>
#define N 5
int main()
{
int i,a[N],n=N,*p=&a[N];
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=N;i>=0;i--)
{
if(p[i]==' ')
n=n-1;
}
for(i=0;i<n;i++);
printf("%d\n",p[i]);
}
为了删除字符串后的所有尾部空格
展开
 我来答
紫薇参星
科技发烧友

2015-06-01 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3625万
展开全部

你的程序我帮你改好了,你看看吧。

完整的程序如下:

#include <stdio.h>

#define N 5

int main(){ 

 int i,n=N;

 char a[N],*p=&a[0];

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

  scanf("%c",&a[i]);

 for(i=N-1;i>=0;i--) {  

  if(*(p+i)==' '){ 

   n=n-1;

  }else{

   *(p+i+1)='\0';

   break;

  }

 }

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

  printf("%c",*(p+i));

 return 0;

}

运行结果:

输入:12空格空格空格

输出:12

a1012144015
2016-01-09 · TA获得超过6415个赞
知道大有可为答主
回答量:9038
采纳率:40%
帮助的人:1363万
展开全部
int main()
{
char str[256];
gets(str);
int n = strlen(str);
if(n<=0)
return 0;
char *p = str;
p += n-1; //把p的指针移动到字符串的末尾
while(*(--p)==' ')
{
*p = '\0';
} //指针由末尾向前移动,遇到空格就把空格替换成'\0',也就是字符串的结束符
puts(str);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仉宏掌翠丝
2019-11-26 · TA获得超过3736个赞
知道小有建树答主
回答量:3075
采纳率:25%
帮助的人:460万
展开全部
int
main()
{
char
str[256];
gets(str);
int
n
=
strlen(str);
if(n<=0)
return
0;
char
*p
=
str;
p
+=
n-1;
//把p的指针移动到字符串的末尾
while(*(--p)=='
')
{
*p
=
'\0';
}
//指针由末尾向前移动,遇到空格就把空格替换成'\0',也就是字符串的结束符
puts(str);
return
0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jing_1753
2015-06-01 · TA获得超过264个赞
知道小有建树答主
回答量:556
采纳率:0%
帮助的人:223万
展开全部
你这样是删不了的,
for(i=N;i>=0;i--)
{
if(p[i]==' ')
n=n-1;
}你只改变了n,但是没有改变数组里面的值,你把而且倒着遍历不太容易,你正着就感觉顺畅多了,只要当前数组值等于空就把后一个的值赋给它,最后别忘了加结束标志。
int i,j=0;
for ( i = 0;p[i]!='\0';i ++ ) {
if(p[i] != ' ')
p[j++] = p[i];
}
p[j] = '\0';
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hellfara
2015-06-01 · TA获得超过200个赞
知道小有建树答主
回答量:307
采纳率:0%
帮助的人:242万
展开全部
for(i=N;i>=0;i--)
{
if(p[i]==' ')
n=n-1;
}
==》
for(i=N-1;i>=0;i--)
{
if(a[i]==' ')
a[i] = 0;
else
break;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式