为了学习使用gdb调试程序,尝试的写了一个学生时代的程序来调试,居然修改了N处地方才改对,忘却了C了,应该回归了。
#include <stdio .h>
#include <string .h>
void main()
{
int i,j;
char str[26] = "bcdaqfrgshtewiuvxlyjzpmokn",tmp,*p;
p = str;
printf("%s\n",str);
for(i = 0;i < = strlen(str)-1;i++)
{
for(j = i;j <= strlen(str)-1 ;j++)
{
if(strcmp(p+i,p+j) > 0)
{
tmp = *(p+i);
*(p+i) = *(p+j);
*(p+j) = tmp;
}
}
printf("%s\n",str);
}
}
</string></stdio>bcdaqfrgshtewiuvxlyjzpmokn
acdbqfrgshtewiuvxlyjzpmokn
abdcqfrgshtewiuvxlyjzpmokn
abcdqfrgshtewiuvxlyjzpmokn
abcdqfrgshtewiuvxlyjzpmokn
abcdeqrgshtfwiuvxlyjzpmokn
abcdefrqshtgwiuvxlyjzpmokn
abcdefgrsqthwiuvxlyjzpmokn
abcdefghsrtqwiuvxlyjzpmokn
abcdefghistrwquvxlyjzpmokn
abcdefghijtswruvxqylzpmokn
abcdefghijktwsuvxryqzpmoln
abcdefghijklwtuvxsyrzqpomn
abcdefghijklmwuvxtyszrqpon
abcdefghijklmnwvxuytzsrqpo
abcdefghijklmnowxvyuztsrqp
abcdefghijklmnopxwyvzutsrq
abcdefghijklmnopqxywzvutsr
abcdefghijklmnopqryxzwvuts
abcdefghijklmnopqrsyzxwvut
abcdefghijklmnopqrstzyxwvu
abcdefghijklmnopqrstuzyxwv
abcdefghijklmnopqrstuvzyxw
abcdefghijklmnopqrstuvwzyx
abcdefghijklmnopqrstuvwxzy
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
利用指针数组对多个字符串进行排序:
#include <stdio .h>
#include <string .h>
void sortstring(int n,char *str[]);
void sortstring(int n, char *str[])
{
char *c;
int i,j;
for(i = 0 ;i < = n-2; i++)
{
for(j=i;j< n;j++)
{
if(strcmp(str[i],str[j]) > 0)
{
c = str[i];
str[i] = str[j];
str[j] = c;
}
}
}
}
main()
{
int i,n;
char *lang[] = {"c","vb","php","java","ruby","python","go"};
n = 7;
sortstring(7,lang);
for(i=0;i<7;i++)
printf("\n%s",lang[i]);
}
</string></stdio>c
go
java
php
python
ruby
vb