scanf("%d",&uzunluk);

mesaj=(char*)malloc ((uzunluk+1)*sizeof(char));
for (i=0 ;i<uzunluk; i++)
{
    scanf(" %c",&mesaj[i]);
}

if (uzunluk%2==1)
{
    mesaj[uzunluk]='z';
}

for (i=0; i<=uzunluk+(uzunluk%2)-2; i+2)
{
    printf("   %c%c",mesaj[i],mesaj[i+1]);
}

最后一个for进入无限循环。我修不好。
例如,如果mesaj是:youare
应该印出来
yo ua re
如果长度是奇数,可能:tonight
to ni gh tz
但它保持无限循环。为什么?

最佳答案

在最后一个for中,不递增i
也许你的意思是:i+=2

关于c - 为什么在此程序中存在无限循环?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19606137/

10-11 20:55