###発生している問題・エラーメッセージ
文字列配列を辞書順にソートしてから表示するプログラムです。エラーメッセージは恐らく、無効な引数(型がint) のような内容が書いてあると思うのですが、何故intが出てくるのかが特に分かりません。
invalid type argument of unary ‘*’ (have ‘int’)
###該当のソースコード
C
1#include<stdio.h> 2 3void dictsort(char **,int); 4int strcmp(char *,char *); 5 6int main(void){ 7 int i; 8 char *colors[]={"white","black","red","pink","orange","blue","yellow","green","purple","gray","brown","gold","silver"}; 9 10 dictsort(*colors[13][10],13); //ここでエラーメッセージ 11 for(i=0;i<13;i++){ 12 printf("%s,",colors[i]); 13 } 14 printf("\n"); 15 return 0; 16} 17 18 19void dictsort(char **ptr,int y){ 20 21 int i=0,count=0,hako; 22 23 while(count < y){ 24 while(i < y){ 25 if(strcmp(*(ptr+i),*(ptr+i+1)) == 1){ 26 **ptr=hako; 27 **(ptr+1)=**ptr; 28 hako=**(ptr+1); 29 } 30 i++; 31 } 32 } 33} 34int strcmp(char *str1,char *str2){ 35 int result; 36 37 for(; *str1 == *str2; str1++,str2++){ 38 if(*str1 == '\0')return 0; 39 } 40 if(*str1-*str2 < 0){result=-1;} 41 if(*str1-*str2 == 0){result=0;} 42 if(*str1-*str2 > 0){result=1;} 43 44 return result; 45 } 46 47
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。