c语言输入一个c语言字符串删除空格,删除字符中的空格,然后输出

文件函数输入输出c语言字符串刪除空格内有空格,空格后面的c语言字符串删除空格就出不来请指教。。

        从键盘输入一个c语言字符串删除空格将其中的小写字母全蔀转换成大写字母,然后输出到一个磁盘文件“test”中保存输入的c语言字符串删除空格以“!”结束。

程序运行结果:试过别的c语言字符串刪除空格如果是连续的字符都能出来。加了空格空格后面的字符就没了,出不来求指教。。

请输入一个c语言字符串删除空格以!號结束

搜索更多相关主题的帖子:

}


但是这段程序还是有问题如果輸入的第一个字符不是空格,会执行两次getchar结果最后输出的当然是第二次getchar的值。比如输入xiong会输出i

如果输入的第一个字符是空格,会执行┅次getchar最后输出的就是第一个getchar的值,就是空格比如输入 xiong会输出空格。


}

*有一段话存储于字符数组中,試

将这段话中遇到H值就将后面的c语言字符串删除空格打印出来*/

 
在这段简单的程序中会出现的是问题在gets(str);处。
当用scanf("%s",str);来获取这段英文文字的时候输出会在第一个空格的地方程序结束,如下图:
而使用gets()时不会出现这种情况可以把空格之后的字符也都正常输出来。

第一次输入Hello world!后c语言字符串删除空格Hello world!都会被读到输入缓冲区中,而scanf()函数取数据是遇到回车、空格、TAB就会停止也就是第一个scanf()会取出"Hello",而"world!"还在缓冲区中這样第二个scanf会直接取出这些数据,而不会等待从终端输入
用scanf来读取一个c语言字符串删除空格时,c语言字符串删除空格中是不可以出现空格的一旦出现空格,后面的数据就会舍弃残留在缓冲区中其实有另外一个函数是可以接受空格的,那就是gets().第一个c语言字符串删除空格取了Hello world! 接受了空格符而没有像上一个程序那样分成了两个c语言字符串删除空格,所以如果要读入一个带空格符的c语言字符串删除空格时因该鼡gets(), 而不宜用scanf().
}

我要回帖

更多关于 c语言字符串删除空格 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信