65,210
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <string.h>
char str[5]={'1','2','3','4','5'};
int main() {
printf("%d\n",strncmp(str,"12345",5));
printf("%.5s\n",str);
return 0;
}
//0
//12345
//
[/quote]
大神一出, 谁与争锋.
确实我没有考虑字符串操作的安全版本.
虽然说有安全版本, 但是\0结尾是一好的做法, 万一哪里未使用安全版本, 那就等着出问题了.
#include <stdio.h>
#include <string.h>
char str[5]={'1','2','3','4','5'};
int main() {
printf("%d\n",strncmp(str,"12345",5));
printf("%.5s\n",str);
return 0;
}
//0
//12345
//

char a[5]={'1','2','3','4','5'};
char b[]="1,2,3,4,5"
strcmp(a,b)=-1;
类似的问题,可以看看http://bbs.csdn.net/topics/390618929