c – for循环不运行
发布时间:2020-12-16 09:41:13 所属栏目:百科 来源:网络整理
导读:我想出了一个我认为是一个笨拙(尽管标准)问题的混乱解决方案: 对于给定的用户输入,反转单词的字母 例如: This is a standard test 变 sihT si a dradnats tset 并不是 tset dradnats a si sihT 事情的核心是这段代码 while (!iscntrl(user_input[x])) // q
我想出了一个我认为是一个笨拙(尽管标准)问题的混乱解决方案:
对于给定的用户输入,反转单词的字母 例如:
变
并不是
事情的核心是这段代码 while (!iscntrl(user_input[x])) // quit when new line is read { restart: x++; puts("first level test"); if (user_input[x]==' ') { puts("second level test"); for (i=x; user_input[i]!=' '; --i) { reverse_words[k]=user_input[i]; k++; puts("third level test"); goto restart; } } } (是的,我知道,那里有一个goto:/) 但是循环的第三级永远不会被触及. 据推测,(i = x; user_input [i]!=”; – i)作为for循环参数存在完全错误? 在第一个循环开始之前,x,i和k都被初始化为整数== 0. 解决方法
那么,你的情况与此相矛盾:
if (user_input[x]==' ') { puts("second level test"); for (i=x; user_input[i]!=' '; --i) 只有在user_input [x]为空格时才输入,但只要它不等于空格就会循环. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |