c语言字符串的输入和输出格式
2833
2022.04.04
2022.04.10
发布于 未知归属地
  • 输入和输出
  1. 输入的字符串
    char ch; scanf("%c", &ch); 只是用于读取单个的字符, 对应的输出格式printf("%c".ch)
    gets(char)读取的是一段或者一行字符【遇到\n就结束】。puts(char)是其对应的输出。但是换行(回车)被忽略,即换行(回车)就会发生输出
    char str[30];scanf("%s",&str)..对应的输出可以是上面的第二种。或者printf("%s",str);只能输入单词,不能读取空格。回车,跳格
  2. 输出字符串
    %s和 puts(str) 可以输出整体所有字符,直到遇到空字符,即/0;
  • 代码部分
int main()
{

 
	char str[30];
	scanf("%s", &str);//一次只能输入一个单词
	//printf("%s", str);//对有空格的后续不展示
	puts(str);//对有空格的后续不展示
}

-------注意点
缓冲区为空时scanf才会发生堵塞,即黑窗口卡住。在本题代码中读取%d后,还有一个换行
\n(也为字符),缓冲区只读取字符。所以当读取到%c时,把换行读取了,会发生堵塞

    int i;
	char c;
	char d;
	scanf("%d", &i);
	printf("i=%d\n", i);
	scanf("%c", &c);
	printf("c=%c\n", c);   //10对应的字符为enter即\n;如果输入10,则直接将\n读进去,会停止

但是在读取整形,字符串,浮点型会忽略换行/n和空格

评论 (0)