Redian新闻
>
大家看看这个简单的qsort排序的问题
avatar
大家看看这个简单的qsort排序的问题# Programming - 葵花宝典
b*n
1
想要用qsort来sort一个char array, code如下,但是seg fault
不知道为什么,大家指点一下
#include
#include
#include
char* inString = "ncdoscndisoc";
int compare (const void* a, const void* b)
{
return ((*(char*)a) - (*(char*)b) );
}
int main ()
{
qsort (inString, 12, sizeof(char), compare);
for (int n=0; n<12; n++)
printf ("%c ",inString[n]);
return 0;
}
avatar
k*f
2
char inString[]="ncdosndisoc";
~~

【在 b*********n 的大作中提到】
: 想要用qsort来sort一个char array, code如下,但是seg fault
: 不知道为什么,大家指点一下
: #include
: #include
: #include
: char* inString = "ncdoscndisoc";
: int compare (const void* a, const void* b)
: {
: return ((*(char*)a) - (*(char*)b) );
: }

avatar
b*n
3
太帅了,果然就是这个问题
可以讲讲为什么吗?
我一直把char* a和char a[]认为是一样的
为什么这里就不行
难道是因为\0的原因?
谢谢

【在 k****f 的大作中提到】
: char inString[]="ncdosndisoc";
: ~~

avatar
k*f
4
char*放在不可修改的地方
char[]是可以修改的。一般就在stack,
多来programming版,就会知道的

【在 b*********n 的大作中提到】
: 太帅了,果然就是这个问题
: 可以讲讲为什么吗?
: 我一直把char* a和char a[]认为是一样的
: 为什么这里就不行
: 难道是因为\0的原因?
: 谢谢

avatar
b*n
5
太帅了
谢谢
送大包子

【在 k****f 的大作中提到】
: char*放在不可修改的地方
: char[]是可以修改的。一般就在stack,
: 多来programming版,就会知道的

avatar
k*f
6
谢谢包子。。。

【在 b*********n 的大作中提到】
: 太帅了
: 谢谢
: 送大包子

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。