㈠ c语言程序问题 用指针将字符串中的空格删除
将p++; 这一句从if子句中移出来,不管if条件是真是假,都要执行它。
#include<stdio.h>
fun(char * str)
{
char * p=str;
int i=0;
while((*p)!=0)
{ if((*p)!=' ')
str[i++]=*p;
p++; //将这一句从if子句中移出来,不管if条件是真是假,都要执行它。
}
str[i]=0;
}
main()
{
char str[100];
printf("Input a string:");
gets(str);
puts(str);
fun(str);
printf("str:%s",str);
return 0;
}
㈡ C语言 输入一个字符串 利用指针 删除它的空格字符~
1.两个指针是根据自己需要来选的,p指针是用来遍历整个输入的字符串的,tmp是用来存储非空格的字符的。你可以不用两个指针,用tmp保存b的首地址,然后用b[i++]来遍历,最后输出用tmp。
2.已经通过*tmp++=*p
;这一句改掉了,tmp是指向b数组的指针。
3.*tmp++=*p
;这是后++,后加加的话意思是先使用该变量当前的值,用完后改变量tmp会自增1,与前加加是反过来的,这个得去看看计算机书了。。。
㈢ C语言怎样删除字符串中的空白字符
#include <stdio.h>
int main()
{
char *p="I am Chinese";
char c;
int i = 0;
while((c = p[i++])!='