C代码不起作用但没有错误

尼尔

我正在编写以下代码以反转字符串,而不反转单词。例如,I / P:这是斯巴达O / P:斯巴达是这

这是代码:

#include<stdio.h>
#include<string.h>
#include<conio.h>

void main()
{   
    char a[50],b[50];
    int i,j,k,l;
    printf("Enter a string: ");
    scanf("%[^\n]s",a);
    l=strlen(a);
    i=0;j=l-1;
ae: 
    for(i;;i++)
        if(a[i]==' ' || a[i]=='\0')
            break;
    k=i;
    for(j;;j--,k--)
    {
        if(a[k]==' ' || k==0)
            break;
        else
            b[j]=a[k-1];
    }
    if(strlen(b)!=l) goto ae;
    else 
        printf("%s",b);
    getch();
}   

该代码将运行所有错误,但是在接受字符串之后,它不会继续进行下去。终端有点上吊。我不知道出什么问题了。请帮忙。

高拉夫·塞加尔(Gaurav Sehgal)

我调试了您的程序,发现的问题是您的程序进入了永无止境的循环。

for(i;;i++)
    if(a[i]==' ' || a[i]=='\0')
        break;

当a [i]等于''时,上述循环在i = 4处中断。在执行goto之后,我仍然是4,并且当

if(a[i]==' ' || a[i]=='\0')
        break;

被评估为i仍然为4,因此再次从循环中中断,从而导致无休止的循环。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Javascript代码不起作用,但是没有错误记录到控制台?

Angular5 * ngfor不起作用,没有错误

更新查询不起作用,但没有错误

virtualenvwrapper mkvirtualenv不起作用,但没有错误

F#:SQLiteCommand的序列不起作用,但是单个SQLiteCommand起作用。没有错误

GetComponent不起作用,没有错误,没有崩溃

R dplyr select()不起作用,没有错误代码

C#NewtonSoft单个对象或数组JsonConverter不起作用,没有错误

mysql查询不起作用,但是没有错误

SqlBulkCopy不起作用,没有错误

PHP中的PDO不起作用-没有错误

瓷砖不起作用,没有错误

Joomla登录不起作用-没有错误消息

XMLHttpRequest不起作用-没有错误

背景音乐不起作用,但没有错误?

C-编译时没有错误,但功能不起作用

“ jpgraph”不起作用,html中没有错误

Mysqli插入不起作用。没有错误弹出

自动完成不起作用,没有错误

PHP 中的 UPDATE QUERY 没有错误,但它不起作用

Onclick 与 Fragment ,没有错误,但不起作用

Cron 作业不起作用,没有错误

尽管没有错误,RemoveChild 仍不起作用

我的 vba 代码似乎不起作用,即使没有错误

登录不起作用(CodeIgniter)但没有错误

C++ Curl post 请求不起作用且没有错误

django 中的 Ajax 不起作用,没有错误,也没有任何反应

我在 Verilog 中编写了这段代码,没有错误消息,但它不起作用

JavaScript 代码不起作用,没有错误或停止