#include<conio.h>
#include<stdio.h>
int main(void)
{
int i,j,temp;
const char *str="geeksforgeeks";
for(i=1;str[i];i++)
{
for(j=0;str[j];j++)
{
if(str[j]>str[j+1])
{
temp=str[j];
str[j]=str[j+1];
str[j+1]=temp;
}
}
}
for(i=0;str[i];i++)
{
printf("%c",str[i]);
}
当我尝试编写str[j]=str[j+1]
时,不明白为什么会出现此错误?
我在做错了,请告诉我吗?
答案 0 :(得分:1)
您将str
声明为const char *
,因此str[j]
和str[j+1]
的类型为const char
,这意味着无法将其分配到str
。
然而,除此之外,尝试修改字符串文字的内容会调用未定义的行为。
要使代码生效,请将char str[]="geeksforgeeks";
的声明更改为
str
这会将char
声明为使用字符串"geeksforgeeks"
的内容初始化的 $('#magazine').turn({ display:'single' });
的数组;您可以根据自己的内容操纵此数组的内容。