go は C 言語のキーワードですか?
go は C 言語のキーワードではありません。goto は C 言語のキーワードです。 goto ステートメントは無条件転送ステートメントと呼ばれ、同じ関数内のラベル付きステートメントに無条件で制御を移すことができます。構文は「goto label;...label:statement;」で、label には次のような純粋なステートメントを指定できます。 C キーワード Text。C プログラムの goto ステートメントの前後に設定できます。
2 | 3 | 4 | 5 | 6 | 7 | 8 | |
---|---|---|---|---|---|---|---|
if | ##else | ##switchcase | default | ブレーク | #戻る | ##ジャンプ | do | while
for | 続行 | typedef | struct##enumunion | char | short | ||
long | float | double | void | sizeof | signed | unsigned | |
const | autoregisterstatic | extern | volatile |
go は C 言語のキーワードではなく、goto は C 言語のキーワードであることがわかります。 c 言語の goto ステートメントgoto ステートメントは、C では無条件転送ステートメントとも呼ばれます。無条件であると言われていますが、実際には無条件です。 Jump 転送スコープは依然として制限されており、同じ関数内のマークされたステートメントに無条件で制御を転送できます。 文法 C 言語の goto ステートメントの構文: goto label; .. . label: statement; ログイン後にコピー ここで、ラベルには C キーワードを除く任意のプレーン テキストを指定できます。 C プログラムの goto ステートメントの前後に設定します。 フローチャート 使用法まず、次のことを決定する必要があります。さて、転送したい場所、つまり転送の終点には、識別子、つまりラベルを設定する必要があります(英語は示していませんが、goto文がエラーになると、この単語が表示される可能性があります)エラー内容)、同時にラベルの後にコロン (:) を追加する必要があります。このようにして識別子を設定し、次に開始点である goto 識別子を設定します。まず、ジャンプすることをコンピュータに伝える必要があります (これが goto の役割です。次に、ジャンプする場所をコンピュータに伝える必要があります。これは、設定したばかりの識別子です。最後に、他のステートメントと同様に、ポイントを追加します) (;) はステートメントの終わりを意味します。エディターページは次のようになります。 と実行結果 5 行目の printf が実行されていないことがわかります。直接 7 行目の printf に進みます。 次のステートメントにジャンプしたり、先頭にジャンプしたりできます。 このようにして、終了条件のない単純なループになります。 これを実行してみてください。もちろん、カウンターを使用して if 判定を追加し、終了条件を与え、for と while の機能を持たせることもできます。 残念ながら、関数間で goto を使用することはできません。実装できるステートメントは他にもあるため、ここでは詳しく説明しません。 ここで、if 条件が true の場合、それを出力した後、以下の不均等な括弧の長い文字列を見ると、何をしたいのかがわかります。そこで条件が設定されます。と何度も壊れてしまうのですが、考えるのも面倒です、この時gotoなしで待つにはどうしたらいいでしょうか?もうすぐです!プログラムの次の段階に進むために、 に直接移動してジャンプします。 しかし、前の図では 2 つの goto を使用しましたが、それらは同じラベルを指していることに気づいたでしょうか。はい、プログラムを異なる開始点から同じ終了点にジャンプさせることができます。ただし、同じ goto で 2 つのラベルにジャンプすることはできないことに注意してください。これは簡単に理解できます。もしあなたが 2 つ以上の別の場所に行くように要求されると、混乱するでしょう。私は行ったほうが良いですか? 前とのもう 1 つの違いは、識別子 xiayige: の後にセミコロン (;) を追加したことです。これはなぜですか?識別子の後には、代入またはステートメントのステートメントが続く必要があります。ただし、その後にステートメントを追加する方法がない場合は、セミコロンを追加して空のステートメントとして扱い、識別子を実行できます。 Ps: 実際、ここでガベージ変数やその他の無意味なステートメントを宣言することもできますが、コードが理解しにくくなるため、お勧めできません。 これは、goto で誰もが最もよく行うことです。他の用途については、あなたの想像力に依存します。古いことわざにあるように、人の大胆さ、土地の生産性が重要です。 以下はgotoを使用した場合です。 #include<stdio.h> int main () { printf("请输入要计算的算式,四则运算优先级一样高,从左到右依次计算\n"); int jieguo=0,sz,gongju=0,gongju2=1; char ysf; scanf("%d",&jieguo); if (jieguo==0) //直接输入等号的话%d似乎是0,有待商榷!!!!!!!! //二次修改,if语句中判断量时只有0为假,除此之外的数字都表真 { printf("**,你算**呢\n"); goto chaojijieshu; gongju=1; gongju2=0; } else if (gongju2) { printf("请输入运算符\n"); scanf(" %c",&ysf); //enter包含两个命令,算是两个字符\r和\n,后面的一个会占据scanf的输入位,所以要清空,或者用空格占位 if(ysf=='=') printf("**,你算**呢\n"); } loop: while(ysf!='=') { if (ysf=='-') { printf("请输入数字\n"); scanf("%d",&sz); jieguo-=sz; printf("请输入运算符\n"); fflush(stdin);//清空标准输入流(stdin) fflush是stdio.h中的函数 scanf("%c",&ysf); if(ysf=='=') { goto jieshu; } else { goto loop; } } else if (ysf=='+') { printf("请输入数字\n"); scanf("%d",&sz); jieguo+=sz; printf("请输入运算符\n"); fflush(stdin);//清空标准输入流(stdin) fflush是stdio.h中的函数 scanf("%c",&ysf); if(ysf=='=') { goto jieshu; } else { goto loop; } } else if(ysf=='*') { printf("请输入数字\n"); scanf("%d",&sz); jieguo*=sz; printf("请输入运算符\n"); fflush(stdin);//清空标准输入流(stdin) fflush是stdio.h中的函数 scanf("%c",&ysf); if(ysf=='=') { goto jieshu; } else { goto loop; } } else if(ysf=='/') { printf("请输入数字\n"); scanf("%d",&sz); while(sz==0) { printf("0能做分母吗?你算**呢\n"); } jieguo/=sz; printf("请输入运算符\n"); fflush(stdin);//清空标准输入流(stdin) fflush是stdio.h中的函数 scanf("%c",&ysf); if(ysf=='=') { goto jieshu; } else { goto loop; } } } jieshu: printf("结果是%d\n",jieguo); chaojijieshu: if (gongju) printf("真无语,重开吧\n"); return 0; } //注意注意!!!!!!!!!!!! //enter算是两个命令,所以有两个字符,在进行上一次输入之后 //在来一个enter,会占据scanf的字符位 //所以要清空标准输入流 //可以利用下述语句 //fflush(stdin); //清空标准输入流(stdin) fflush是stdio.h中的函数 //以上是最好的解决办法 //初次之外,还有被称作偏方的办法 //二次修改 除此之外,而不是初次之外,打错字了 //如 //scanf(“ %c”,&ysf”) //在scanf中加一个空格,可以顶掉enter多出来的一个字符 //还有 //加一句 //getchar() //用getchar来捕捉多出来的\n ログイン後にコピー 関連する推奨事項:「C ビデオ チュートリアル 」 |
以上がgo は C 言語のキーワードですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Go Crawler Collyのキュースレッドの問題は、Go言語でColly Crawler Libraryを使用する問題を調査します。 �...

Go言語での文字列印刷の違い:printlnとstring()関数を使用する効果の違いはGOにあります...

redisstreamを使用してGo言語でメッセージキューを実装する問題は、GO言語とRedisを使用することです...

Golandのカスタム構造ラベルが表示されない場合はどうすればよいですか?ゴーランドを使用するためにGolandを使用する場合、多くの開発者はカスタム構造タグに遭遇します...

GO言語は、効率的でスケーラブルなシステムの構築においてうまく機能します。その利点には次のものがあります。1。高性能:マシンコードにコンパイルされ、速度速度が速い。 2。同時プログラミング:ゴルチンとチャネルを介してマルチタスクを簡素化します。 3。シンプルさ:簡潔な構文、学習コストとメンテナンスコストの削減。 4。クロスプラットフォーム:クロスプラットフォームのコンパイル、簡単な展開をサポートします。

大企業または有名なオープンソースプロジェクトによって開発されたGOのどのライブラリが開発されていますか? GOでプログラミングするとき、開発者はしばしばいくつかの一般的なニーズに遭遇します...

VSCODEユーザーのGolang Generic Function Typeの制約の自動削除は、VSCODEを使用してGolangコードを書くときに奇妙な問題に遭遇する可能性があります。いつ...
