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]);
}
为了删除字符串后的所有尾部空格 展开
#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]);
}
为了删除字符串后的所有尾部空格 展开
展开全部
你的程序我帮你改好了,你看看吧。
完整的程序如下:
#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
展开全部
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;
}
{
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这样是删不了的,
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';
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';
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
}
{
if(p[i]==' ')
n=n-1;
}
==》
for(i=N-1;i>=0;i--)
{
if(a[i]==' ')
a[i] = 0;
else
break;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询