
~~帮忙做个简单的C语言程序设计题目~~~急!!!
题目:编写一个自定义函数,将字符串s中所有的空格字符删去。(用指针方法)请帮忙用最简单的C语言知识编写程序~~~(太深奥了看不懂)在线等...
题目:
编写一个自定义函数,将字符串s中所有的空格字符删去。(用指针方法)
请帮忙用最简单的C语言知识 编写程序 ~~~(太深奥了看不懂)
在线等 展开
编写一个自定义函数,将字符串s中所有的空格字符删去。(用指针方法)
请帮忙用最简单的C语言知识 编写程序 ~~~(太深奥了看不懂)
在线等 展开
3个回答
展开全部
#include<stdio.h>
void f(char *p)
{
int i,j;
i=j=0;
while( *(p+i)!='\0') /* p[i]=*(p+i) */
{
if(*(p+i)!=' ') /* p[i]!=空格 */
{
*(p+j)=*(p+i); /*把不是空格的字符重新赋值给s[]*/
j++; /*指向下一个未被赋值的内存*/
}
i++; /*指向下一个为被判断的字符*/
}
*(p+j)='\0'; /*加上字符串结束符,不然不能正常输出*/
}
int main() /*测试*/
{
char s[]="faf f a ds";
f(s); /*字符串首地址传给形参*/
printf("%s\n",s);
return 0;
}
明白*(p+i)和p[i]相等就好了
void f(char *p)
{
int i,j;
i=j=0;
while( *(p+i)!='\0') /* p[i]=*(p+i) */
{
if(*(p+i)!=' ') /* p[i]!=空格 */
{
*(p+j)=*(p+i); /*把不是空格的字符重新赋值给s[]*/
j++; /*指向下一个未被赋值的内存*/
}
i++; /*指向下一个为被判断的字符*/
}
*(p+j)='\0'; /*加上字符串结束符,不然不能正常输出*/
}
int main() /*测试*/
{
char s[]="faf f a ds";
f(s); /*字符串首地址传给形参*/
printf("%s\n",s);
return 0;
}
明白*(p+i)和p[i]相等就好了
展开全部
#include<conio.h>
#include<stdio.h>
void getResult(char *str,char *p)
{
int i=0,j=0;
for(i=0;str[i]!='\0';i++)
{
if(str[i]!=' ')
{
p[j++]=str[i];
}
}
p[j]='\0';
}
void main()
{
char a[50]={NULL},result[50]={NULL};
printf("please input the string: \n");
gets(a);
getResult(a,result);
printf("the result is: %s\n",result);
getch();
}
#include<stdio.h>
void getResult(char *str,char *p)
{
int i=0,j=0;
for(i=0;str[i]!='\0';i++)
{
if(str[i]!=' ')
{
p[j++]=str[i];
}
}
p[j]='\0';
}
void main()
{
char a[50]={NULL},result[50]={NULL};
printf("please input the string: \n");
gets(a);
getResult(a,result);
printf("the result is: %s\n",result);
getch();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void delete_space(char *s)
{
char *p=s;
int n=0;
while(*p!='\0')
{
if(*p!=' ')s[n++]=*p;
p++;
}
}
{
char *p=s;
int n=0;
while(*p!='\0')
{
if(*p!=' ')s[n++]=*p;
p++;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询