我是c语言的新手,在执行第一个printf语句后遇到分段转储错误。 请帮我解决这个错误。
void main()
{
char string[10]={};
char key,used[10];
int len=0;
printf("Enter the string :");
scanf("%s",&string);
len = strlen(string);
for (int i =0; i<len;++i)
{
int count=0;
key =string[i];
printf("%s",key);
for (int j =0;j<len;++j)
{
if (string[j]==key)
{
count+=1;
}
}
printf("%s %d",key,count);
}
}
答案 0 :(得分:2)
如评论中所述
scanf("%s",&string);
应该是scanf("%s",string);
使用correct format specifier
printf("%s",key);
应该为printf("%c",key);//<-----should be %c
printf("%s %d",key,count);
应该是printf("%c %d",key,count);//<-----should be %c