字符串中的输入和输出

文章目录

  • 前言
  • 一. 字符串中的输入
  • 二 .字符串中的输出
  • 习题练习


前言

本系列为C语言易错点总结系列。点滴积累,一起逆袭。


一. 字符串中的输入

char str[40];

法一:gets(str);
法二:scanf(“%s”,str);
法三:scanf(“%s”,&str);

gets()函数原型:char *gets(char *str)

对于字符串/数组:
gets(str) 约等于 scanf(“%s”,&str) 会把读到的字符串写入数组,但又不同。
区别
scanf(“%s”,&str) :读到空格便停止。
gets(str) :一直读到敲回车(不管中间是否有空格)。


二 .字符串中的输出

法一:puts(str);
法二:printf(“%s\n”,str);
法三:
for(int i=0;i printf(“%c”,str[i]);
}

printf() 和 puts() 的区别
puts()在输出字符串时会将’\0’自动转换成’\n’进行输出,也就是说,puts方法输出完字符串后会自动换行。

习题练习

printf(“%s”, &str[1]);这里加了一个&。数组储存字符串没错。但是因为它的参数是一个指针,也就是我们传入了一个地址,所以我们要打印字符串的话,也就是取的时候,也要用一个地址去取字符串。
所以要记住,用了gets()输入,就要用地址输出。

你可能感兴趣的:(C语言易错点总结系列,算法,c语言,c++)