*pStr='\0'; 这里给个\0是什么意思?没看明白?

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<stdbool.h>
#define BUF_len 1000
#define INIT_str_ext 50
#define WORDS_incr 5
int main(void)
{
char delimiters[]="\n\", .?!)(:;";
char buf[BUF_len];
size_t str_size=INIT_str_ext;
char *pStr=(char*)malloc(str_size);
*pStr='\0'; 这里给个\0是什么意思?没看明白。

printf("enter some prose with up to %d characrters per line.\n"
"Terminate input by entering an empty line:\n",BUF_len);

慕娘9325324
浏览 360回答 1
1回答

慕哥6287543

char *pStr=(char*)malloc(str_size);这时pStr指向占用str_size个字节的堆空间。*pStr='\0';给首地址赋0。那么这时printf("%s", pStr);等就有意义,因为第一个就是\0。反之没有赋0,printf("%s", pStr)就会输出直到遇到0或访问内存出错。这是一个较好的编程习惯,在这里其实写不写都可以(建议写)。
打开App,查看更多内容
随时随地看视频慕课网APP