首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

c语言中怎样用scanf()读入带空格的字符串?该如何处理

2012-09-08 
c语言中怎样用scanf()读入带空格的字符串?#include stdio.hint main(void){int ichar a[5]scanf(%s,

c语言中怎样用scanf()读入带空格的字符串?
#include <stdio.h>

int main(void)
{
  int i;
  char a[5];

  scanf("%s", a);
  printf("%s\n", a);
   
  return 0;

}

运行输入hello world  
回车
则输出的只是空格之前的部分,怎样把空格之后的部分也输出呢?

[解决办法]
谁说scanf不能做到?

C/C++ code
#include <stdio.h>int main(){    char str[128];    scanf( "%[^\n]", str );    printf( "%s\n", str );    return 0;}
[解决办法]
C/C++ code
#include <stdio.h> //char *fgets( char *str, int num, FILE *stream );int main(){    char buffer[10];    //fgets(buffer,10,stdin); //这个带有回车符    gets(buffer);    //这个没有回车符    printf("%s",buffer);    return 0;}
[解决办法]
探讨

谢谢各位了
真是博大精深啊
小弟正在学C基础呢
现在明白一点了,用gets()最能满足我现在的需要,fgets()连回车符都获取了
至于scanf()用正则表达式,那就更高深了,等小弟以后慢慢研究吧

有点疑问:用gets(),为什么在编译时提示这个函数很危险呢?(ubuntu系统 gcc编译器)

[解决办法]
探讨
谢谢各位了
真是博大精深啊
小弟正在学C基础呢
现在明白一点了,用gets()最能满足我现在的需要,fgets()连回车符都获取了
至于scanf()用正则表达式,那就更高深了,等小弟以后慢慢研究吧

有点疑问:用gets(),为什么在编译时提示这个函数很危险呢?(ubuntu系统 gcc编译器)

热点排行