liu306178205 发表于 2019-4-24 17:17:25

为什么空格和回车会被稀释掉

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>

int main()
{
        FILE* fp = fopen("D:/b.txt", "w");
        if (!fp)
                return -1;

        char* p = (char*)malloc(sizeof(char) * 1024);
        while (1)
        {
                memset(p, 0, 1024);
                scanf("%s", p);
                if (!strcmp(p, "comm"))
                        break;
                fputs(p, fp);
        }
        free(p);
        fclose(fp);
}

为什么空格和回车会被稀释掉

jackz007 发表于 2019-4-24 18:10:07

       在使用 scanf() 获取键盘输入的时候,空格、TAB和回车都是作为分隔符使用的,分隔符是输入项之间的分隔标志,所以,一般不会进入输入项中。也就是说,分隔符会被过滤掉,这就是楼主感觉空格和回车被稀释掉的原因。
页: [1]
查看完整版本: 为什么空格和回车会被稀释掉