标签: break

缩进使软件控制流程更加明显。你怎么看待这件事?

您有多少次在代码深处遇到过带有return语句的函数?或者没有注意到循环中的中断继续?虽然我最近没有被return打得措手不及,但我仍然对continuebreak感到措手不及。

\n

本科毕业后不久,我向 Dennis Ritchie 建议更改 C\xe2\x80\x99s 的中断语句。虽然我不再希望做出改变,但 Dennis\xe2\x80\x99s 的回应包含了更广泛适用的智慧:

\n

您的建议是 \xe2\x80\x98break\xe2\x80\x99 语句应该用一个数字来表示要逃脱的级别数,这一建议之前已经出现过。这是我和 X3J11 委员会仔细考虑的一个想法,它在几个方面都很有吸引力。然而,语言标准化委员会决定拒绝它。这个想法的固有问题之一是它加剧了 \xe2\x80\x98break\xe2\x80\x99 已经存在的困难,即很难确定控制权的去向。源程序中非常小的变化会导致控制流发生巨大的变化,并且混乱程度随着中断级别的数量而增加。[强调我的]

\n

我相信问题不在于break和其他控制流语句。问题是我们如何缩进这些陈述。缩进不应位于控件所在的位置。相反,缩进应该达到控件所在的水平。所以,而不是

\n
func(....) {\n    \xe2\x80\xa6\n    for (...) {\n        \xe2\x80\xa6\n        if (...) {\n            break;\n        }\n       \xe2\x80\xa6\n    }\n    \xe2\x80\xa6\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我建议我们缩进如下

\n
func(....) {\n    \xe2\x80\xa6\n    for (...) {\n        \xe2\x80\xa6\n        if (...) {\n    break;\n        }\n       \xe2\x80\xa6\n    }\n    \xe2\x80\xa6\n}\n
Run Code Online (Sandbox Code Playgroud)\n

上面的代码看起来很难看,但这正是重点。

\n

通过像往常一样缩进,我们可能会掩盖意外的行为。通过按建议缩进,我们使意想不到的事情成为了预期。这将有助于更好地理解代码,并让所有人获得更好的睡眠。

\n

我不知道丹尼斯对此有何感想。可悲的是我从来没有由他来管理它。然而,如果你喜欢这个想法,作为对丹尼斯的致敬,我希望以他的名字命名它。K&R的缩进风格已经归功于他。称此为Ritchie 缩进会令人困惑。因此,我建议我们将其称为Ritchie …

c indentation break code-readability control-flow

-2
推荐指数
1
解决办法
99
查看次数

我在哪里把中断放在我的代码中?

print'Personal information, journal and more to come'

while True:

    x = raw_input()
    if x =="personal information": 
         print' Edward , Height: 5,10 , EYES: brown , STATE: IL TOWN:  , SS:'
    elif x =="journal":
       print'would you like  you open a journal or create a new one? open or create'
if x =='createfile':
           name_of_file = raw_input("What is the name of the file: ")
           completeName = "C:\\python\\" + name_of_file + ".txt"
           file1 = open(completeName , "w")
           toFile = raw_input("Write what you want into …
Run Code Online (Sandbox Code Playgroud)

python loops break

-3
推荐指数
1
解决办法
130
查看次数

切换案例在android中的onActivityResult中给出奇怪的响应

我有活动,我正在打开相机,语音和视频的意图.我正在使用onActivityResult.但是当onActivityResult被调用时,我正在观察一些非常奇怪的事情,在所有情况下,所有情况下被调用意味着它的gng.

怎么可能.我错了什么?.

以下是我的代码

   protected void onActivityResult(int requestCode, int resultCode, Intent data) 
     {
      super.onActivityResult(requestCode, resultCode, data); 

       if(resultCode == RESULT_OK){




          switch(requestCode) { 

             case 1:

                Uri selectedImage = data.getData();
                System.out.println("selectedimage"+selectedImage);
                String[] filePathColumn = {MediaStore.Images.Media.DATA};

                Cursor cursor = getContentResolver().query(selectedImage,       filePathColumn, null, null, null);
                cursor.moveToFirst();

                int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
                String filePath = cursor.getString(columnIndex);
                cursor.close();


                yourSelectedImage = BitmapFactory.decodeFile(filePath);
                /* Now you have choosen image in Bitmap format in object "yourSelectedImage". You can use it in
                 *  way you want! */



                btn_img.setImageBitmap(yourSelectedImage);





        case 0:
            try {
                yourSelectedImage …
Run Code Online (Sandbox Code Playgroud)

java android break switch-statement android-activity

-3
推荐指数
1
解决办法
1138
查看次数

Python语法错误,'break'在循环之外

try:

    ip = float(input("Enter a number to find it's absolute value (press 'e' to exit):"))
    if ip == 'e':
        break
Run Code Online (Sandbox Code Playgroud)

Python说断裂不在循环中.有没有人有任何想法如何解决这个问题?提前致谢.

python loops syntax-error break

-3
推荐指数
1
解决办法
9639
查看次数

为什么我不能在C#三元表达式中使用break?

我试图将if else子句转换为while循环中的三元组,但是它不允许我在问号后面有一个中断,将中断处的错误指向为无效表达式.

我怎么会把这个简单的东西变成这样的三元组.

while (true)
{
    Console.WriteLine("Enter 3 words seperated by spaces: ");
    var input = Console.ReadLine();
    //input == "" ? break : ConvertToPascal(input);
    if (input == "")
        break;
    else
        ConvertToPascal(input);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# ternary-operator break

-3
推荐指数
2
解决办法
765
查看次数

php如何包装一个没有空格的很长的单词

我在php站点中包装一个非常长的字符串有问题.如果用户输入一个没有空格的非常长的字符串,则会破坏设计.例如:"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"我想要一种方法来打破这个词,这样就不会破坏设计.只有在字符串之间没有空格时才会出现问题.它与普通文本的关系如下:https://imgur.com/a/1Tazz

如何看待没有空格的长字符串:https://imgur.com/a/a1Muf

我尝试过使用css自动换行属性,但它没有解决问题.

css php string cpu-word break

-3
推荐指数
1
解决办法
75
查看次数

做... while循环不破坏c ++

目前我遇到了这个问题... while循环.

do { 
 // program code here
    cout << "Would you like to run the program again?(yes/no)";
    bool exit = false;
    string strexit;
    do {
        getline(cin, strexit);
        if (strexit == "no") {
            exit = false;
            break;
        }
        else if (strexit == "yes") {
            exit = true;
        }
        else {
            cout << "Enter yes to rerun the program, and no to exit.\n";
        };
    } while (!exit);
    system("cls");
} while (exit);
return 0;
}
Run Code Online (Sandbox Code Playgroud)

我在网上研究过,如何摆脱do ... while循环,当条件为真时,它会再循环回来,但如果它是假的,它会退出.因此,如果您查看代码,如果用户键入no,则设置exit = false,这将从更大的do while循环中取出,其中break将其从当前do while循环中取出.如果用户输入yes,则将exit更改为true,这会将其从当前的do …

c++ break do-while

-3
推荐指数
1
解决办法
905
查看次数

这两个程序有什么区别

b=input("Enter number : ")
for n in range(2, b+1):
     for x in range(2, n):
         if n % x == 0:
              break
     else:
          print n
Run Code Online (Sandbox Code Playgroud)

该程序打印的素数最多为n out put is

输入数字:10
2
3
5
7

b=input("Enter number : ")
for n in range(2, b+1):
     for x in range(2, n):
         if n % x == 0:
              break
         else:
              print n
Run Code Online (Sandbox Code Playgroud)

out put是

输入数字:10
3
5
5
5
7
7
7
7
7
9

python for-loop if-statement break

-4
推荐指数
1
解决办法
66
查看次数

break语句如何工作?

如果我在for循环中写break语句然后将变量更新,然后循环退出,或者只是在循环退出的break语句的执行之后?例如

for(i=0;i<100;i++){
//do something something
if(i==50){
break;
}  
Run Code Online (Sandbox Code Playgroud)

循环退出后i的值是多少?

c break

-5
推荐指数
1
解决办法
3913
查看次数

break语句在循环中不起作用

我看到一个教程,解释如何在循环中使用"break"语句,但每次我尝试使用它时,我收到编译错误说:

"break语句不在循环或开关内
                       break;"

这是我的代码:

if (finalFirstChar > 6 || finalFirstChar < 1)
{
    printf("You didn't entered a proper number! \n");
    break;
}
Run Code Online (Sandbox Code Playgroud)

c loops if-statement break

-5
推荐指数
1
解决办法
823
查看次数

我可以在 JAVASCRIPT 中没有任何循环的 if 语句中使用 continue 和 break 吗?

它是众所周知的,break并且continue可以在一个循环内使用:

for (let i = 0; i < 5; i++) {
  console.log(i);
  if (i === 3) {
    break;
  }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在if语句中使用它们,退出 If 块的控制或重新启动if语句?

javascript loops continue break

-5
推荐指数
1
解决办法
2838
查看次数

如何知道循环如何结束

在编写程序时,我遇到了一个奇怪的情况.我需要知道一个for loop是正常结束还是正常结束break.有没有办法知道这个?

java for-loop break

-7
推荐指数
1
解决办法
496
查看次数

如何在C#中打破while循环.打破不工作

我似乎无法while使用break语句突破这个循环.这是我的代码:

while (true) {
            Console.WriteLine("What is 1 + 1?");
            int answer = Convert.ToInt32(Console.ReadLine());
            if (answer != 2)
            {
                Console.WriteLine("Wrong answer. Press enter to get your next sum");
                Console.ReadLine();
            }

            else if (answer == 2)
            {
                Console.WriteLine("Well done. Press enter to get your next sum");
                Console.ReadLine();
                break;
            }
        }

        Console.WriteLine("What is 1 + 3");
        int answer2 = Convert.ToInt32(Console.ReadLine());
Run Code Online (Sandbox Code Playgroud)

c# break while-loop

-8
推荐指数
1
解决办法
4918
查看次数