john-rgt 发表于 2017-6-16 08:13:36

7.C语言字符串、字符使用总结


1、应该使用有符号数的表达式中使用strlen函数;
2、在表达式不要混用有符号数和无符号数;
3、使用strcpy函数时,数组较短,导致函数溢出;
4、把是strcmp函数的返回值当做布尔值进行测试;
5、使用并非以NUL字节结尾的字符串;
6、忘了strtok函数会修改它所处理的字符串;而且它是不可再入的;
7、strncpy函数,它的结果不会以NUL字节结尾!!!所以最好在末尾手动赋为‘\0’;

求道于盲 发表于 2017-6-16 09:41:56

第一条和第二条是矛盾的
第五条说错了

john-rgt 发表于 2017-6-16 18:03:44

求道于盲 发表于 2017-6-16 09:41
第一条和第二条是矛盾的
第五条说错了

一二条哪里矛盾?第五条是警告

求道于盲 发表于 2017-6-20 11:46:17

john-rgt 发表于 2017-6-16 18:03
一二条哪里矛盾?第五条是警告

strlen函数返回值是 无符号类型
所以第一句是在表达式里面 混用了有符号和无符号类型
第二句 说不要混用?

喵喵喵
页: [1]
查看完整版本: 7.C语言字符串、字符使用总结