goto相关内容

使用转到关键字用C

#包括LT&;&stdio.h中GT;诠释的main() { INT 1 = 5; 开始: 如果一个) 的printf(“%d个\\ N”,一); 一个 - ; 转到开始; 返回0; } 当一个变为0,然后,如果为什么输出将是在这个code手段infinty情况不会再执行 输出 - 5 4 3 2 1 0 -1 -2 等等没完没了 ..
发布时间:2016-08-25 10:17:49 C/C++

的kbhit()与双回路工作不正常

只是为了好玩,我试着打印的kbhit()与循环,使按键preSS后程序 打印无限直到$ P $再次pssed键盘就行了。它编译良好,运行的时候,只给空白屏幕。打印编号。但在单个键preSS结束程序。控制台不关闭,虽然 的#include<&stdio.h中GT; #包括LT&;&CONIO.H GT;诠释的main() { 而(1) { 如果(的kbhit()) ..
发布时间:2016-08-24 14:44:09 C/C++

在不同的功能使用转到功能

我如何使用goto语句的功能在不同的功能。对于恩, 的main() { .... 达到: ...... } void函数() { 转到REACH; } 如何实现这样的用法? 解决方案 您不能在标准C;标签是本地的一个单一的功能。 最近的标准等效是 ..
发布时间:2016-08-22 16:58:36 C/C++开发

C / C ++:跳转到for循环

我有一点不寻常的情况 - 我想使用goto语句跳到到的循环,而不是从中跳出。 有充分的理由这样做 - 这code必须是一些功能,这使得第一次呼叫经过一番计算,以请求新的数据返回,需要多一个电话,继续的一部分。函数指针(明显的解决方案)不能使用,因为我们需要code不支持函数指针的互操作性。 我想知道是否低于code是安全的,也就是说,它会被正确地被所有符合标准的C / C ++编译器编译(我们 ..
发布时间:2016-08-21 20:54:40 C/C++开发

GOTO之前局部变量

执行以下操作code的一块构成不确定的行为,因为我的变量声明前跳,并通过指针使用它吗?如果是这样,是否有标准之间的差异? INT的main(){ 为int * p值= 0; LABEL1: 如果(P){ 的printf(“%d个\\ N”,* P); 返回0; } INT I = 999; P =&放;我; 转到LABEL1; 返回-1; } 解决方案 有在你的程序中 ..
发布时间:2016-08-21 20:48:38 C/C++

C:嵌套If语句或GOTOS

什么是管理资源的 C 程序的最佳途径。我应该使用嵌套,如果结构或我应该使用goto语句? 我知道有一个关于转到语句很多的禁忌的。但是,我认为这是对当地资源的清理有道理的。我已经提供了两个样本。一个比较嵌套if结构,另一个则使用goto语句。我个人觉得在goto语句使code更容易阅读。对于那些谁可能会认为,在嵌套if 提示符更好的结构,想象一下,如果数据类型是其他东西比一个char *,就像一个 ..
发布时间:2016-08-21 20:25:35 C/C++

C:堆栈内存,GOTO和"跳进标识符的范围具有可变类型&QUOT ;,

我发现,这种拒绝编译: INT test_alloc_stack(INT大小){ 如果(0)转到错误; //同样的问题,无论条件使用 INT申请【规格】; give_values​​(适用,大小); 返回1; 错误: 返回0; } 我得到的错误是:“跳进具有可变类型标识符的范围。” 消除了“转到”和跳转到错误解决了问题。行 如果我使用 ..
发布时间:2016-08-19 13:32:39 C/C++

要使用goto语句或没有?

这问题听起来老套,但我在这里的情况。 我想实现一个有限状态自动解析C中的某个字符串当我开始写code,我实现了code可以更具可读性,如果我使用的标签来标​​记不同的状态并使用goto语句从一个状态跳到另一个视具体情况来了。 使用标准的断裂和标志变量,在这种情况下相当繁琐,难以跟踪的状态。 什么方法比较好?比什么都重要,我担心它可能会留下不好的IM pression我的老板,因为我在实习的机 ..
发布时间:2016-08-18 22:50:57 C/C++

GOTO认为无害

的转到语句已在几个SO讨论连篇累牍检查(见的这个和的的),我当然不希望重振那些激烈的辩论。 相反,我想集中精力的S​​ 转到单一的用例,并讨论其价值和可能的替代方案。 考虑以下code片段,这是常见的(至少我自己)的FSM: 而(州= next_state()){ 开关(州){ 例中foo: / ..
发布时间:2016-08-18 14:13:29 C/C++

是否有可能以一个标号的地址存储在变量和使用goto语句跳转到了吗?

我知道每个人都讨厌的goto。在我的code,原因我已经考虑并很舒服,他们提供了一个有效的解决方案(即我不是在寻找“不这样做”作为一个答案,我理解你的预订,并理解我为什么我使用他们无论如何)。 到目前为止,他们已经很棒,但我想在需要我基本上能够指针存储到标签,然后去找他们,以后这样的方式来扩充功能。 如果这个code的工作,将重新present的功能,我需要的类型。但它不工作,和谷歌上搜索30 ..
发布时间:2016-08-18 13:50:46 C/C++

C / C ++:是GOTO快于while和for?

我知道,那人人都恨GOTO,没有人推荐它。但是,这不是问题的关键。我只是想知道,这code是最快的: 的转到循环 INT I = 3; 循环: 的printf(“东西”); 如果( - 我)转到循环; 的,而循环 INT I = 3; 当我 - ) { 的printf(“东西”); } 的为循环的for(int i = 3;我;我 - ){ 的prin ..
发布时间:2016-08-18 13:36:05 C/C++

而(1)..打破,而不是转到

我发现下面的code在C程序中: 而(1) { 做一点事(); 如果(was_an_error())破; do_something_else的(); 如果(was_an_error())破; [...] 打破; } [清理code] 下面而(1)被用作“终于”本地仿真。你也可以这样写使用转到取值: do_something() 如果(was_ ..
发布时间:2016-08-18 13:04:16 C/C++

转到标签之后变量声明

今天,我发现一个有趣的事情。我不知道一个人不能goto语句标签之后声明一个变量。 编译如下code 的#include<&stdio.h中GT; 诠释主(){ INT X = 5; 转到JUMP; 的printf(“x为:%d个\\ N”,X); 跳: INT A = 0; < ===给我的种种错误.. 的printf(“%d个”,一); } ..
发布时间:2016-08-17 23:11:01 C/C++

C99转到过去的初始化

在调试崩溃,我碰到这个问题在一些code来了: INT FUNC() { 字符* P1 =的malloc(...); 如果(P1 == NULL) 转到err_exit; 字符* P2 =的malloc(...); 如果(P2 == NULL) 转到err_exit; ...err_exit: 免费(P2); ..
发布时间:2016-08-17 22:52:42 C/C++

当实现一个无限循环,有没有为VS VS转到(C语言)(1)(;;)使用,而有区别吗?

当执行一个无限循环,有没有在使用不同的而(1) VS 为(;;) VS 转到? 谢谢, Chenz 解决方案 他们是等价的,即使你把优化关闭。 例如: 的#include<&stdio.h中GT;EXTERN无效F(无效){ 而(1){ 的putchar(''); } }无效的extern克(无效){ 对于(;;){ 的 ..
发布时间:2016-08-17 22:49:24 C/C++

scanf函数不会执行对第二次

我想: - 如果用户输入一个无效的值要重新读入的值。但问题是, scanf()的执行只有一次,不会执行其他任何时间和程序卡具有无限循环。 #包括LT&;&stdio.h中GT; #包括LT&;&MATH.H GT; 主要() { 无符号整型一个; 无符号整型B = POW(2,M-1); 无符号整型℃; INT X; 的printf(“B =%I”,B); ..
发布时间:2016-08-17 21:27:05 C/C++

它是有史以来最好使用'转到',支持循环和功能的语言?如果是这样,为什么?

我早就把IM pression下的转到不应该尽可能使用。而细读libav codeC(这是写在C)有一天,我发现它的多种用途。它是以往任何时候都有利之处在于支持循环和功能使用的语言转到?如果是这样,为什么? 解决方案 有使用“转到”语句的几个原因,我所知道的(有些人说这个话): 干净利落退出函数 通常在一个函数,你可以分配资源并需要退出在多个地方。程序员可以通过将资源清理code。在函 ..
发布时间:2016-08-17 20:46:36 C/C++