当前位置:三九宝宝网 → 宝宝教育 → 教学论文 → 正文

C语言中有什么方法能清除一个数组中的全部空格

更新:01-02 整理:39baobao.com
字体:

[c语言整数数组排序]#include"stdio.h" #define N 10 void sort(int a[],int method) { int i,k,t,j; switch(method) { case 1: for(i=0;i<N;i++) { for(j=0;j<N;j++) { if(a[j]>a[i]) { t=a[i];...+阅读

第一种方法:利用指针

#include "stdio.h"

main()

{

char testmac[20],*p; /*定义一个字符数组,一个指向字符变量的指针变量*/

gets(testmac);/*从键盘输入一个字符串*/

for(p=testmac;*p;p++) /*将testmac数组首地址附给p,当p所指字符为'\0'时,停止循环*/

if(*p==' ')/*判断p所指字符变量是否为空格,若为空格,则以p+1所指地址后面的字符串拷贝到p所指地址,注意''中有个空格,不要以为是连续两个'*/

strcpy(p,p+1);

puts(testmac);

}

运行结果:

输入:“I am a boy!”

输出:“Iamaboy!”

运行解释:当p指向I后面那个空格时,p+1相当于a的地址,strcpy(p,p+1)就是将以p+1的地址为首地址后面那一系列的字符串拷贝到p所指变量的地址为首地址的一系列字符串。从而相当于将空格覆盖掉了

第二种方法:利用另一个数组

#include "stdio.h"

main()

{

char testmac[20],b[20];

int i,j;

j=0;

gets(testmac);

for(i=0;a[i]!='\0';i++)

if(testmac[i]!=' ') /*此处还可以将' '换成32即空格的ASCII码值*/

b[j++]=testmac[i];

b[j]='\0';

strcpy(testmac,b);

puts(testmac);

}

运行解释:就是将testmac数组中不是空格的其他字符都依次放入b数组中,然后用strcpy(testmac,b);将b数组中字符串拷贝到testmac数组。

本文地址:https://www.39baobao.com/show/29_20338.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

C或者CC语言中一维数组中的元素相加的问题using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 随机数组中六个数相加 { class Program { static void Main(string[]...

c语言一维数组求加法的示例#include <stdio.h> int main() { int i,n,sum = 0; int a[] = {31,62,34,49,75,69,87,80,91,19}; n = sizeof(a)/sizeof(a[0]); for(i = 0;i < n;i++) sum += a[i]; printf...

C语言中二分法和插入排序案例就两个!只涉及数组与函数内容主你好,二分法 #include #define f(x) (x*x*x-2*x*x+3*x-4) void main() { float a=-10,b=10,c,eps=1e-5; while ((b-a)>eps) { c=(a+b)/2; if(f(c)==0) break; else if(f(a)*f...

c语言随机产生100个数为二维数组求出数组位置和最大值如下 #include #include #include void main() { int b[10][10],max,i,j,k,mi,mj; srand( (unsigned)time(NULL) ); for(i=0;i<10;i++) { for(j=0;j<10;j++) { b[i][j]= ra...

C语言怎么把带有空格的字符串倒序输出 # include "stdio.h" void out(char *s) { char *p; for(p=s; *p&*p!=' ';)p++; if(*p)out(++p); for(; *s&*s!=' ';)putchar(*s++); putchar(' '); } int main() { char s[2...

给一个2 3的二维数组各元素赋值并输出全部元素的值的C语言程序设#include<stdio.h> main(){ int a[2][3]; for(int i=0;i<2;i++) for(int j=0;j<3;j++) scanf("%d",&a[i][j]); for(int i=0;i<2;i++) for(int j=0;j<3;j++) printf("%d",a[i][j]...

C语言实现一个可变长的二维数组//--------------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> int main(void) { int **a; /*a用于指向动态创...

C语言怎么清空字符数组#include<stdio.h> int main() { int i=0; char name[10]="love"; printf("%s\n",name); while(name[i++]!='\0')//判断不是空的话就让它为空 name[i-1]='\0'; printf("%s\n",name...

C语言中删除一个数组元素main() {int i,n; int a[8]={1,2,3,4,5,6,7,8};/*可以自己定义的,这里为了方便*/ printf("\nthe original array a:"); for(i=0;i<8;i++) printf("%-3d",a[i]); printf("\n"); print...