为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕娘9325324 2022-08-12 14:10:08
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<stdbool.h>#define BUF_len 1000#define INIT_str_ext 50#define WORDS_incr 5int 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);
查看完整描述

1 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

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

查看完整回答
反对 回复 2022-08-15
  • 1 回答
  • 0 关注
  • 352 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信