网站需求分析模板,美容店网站建设,与建设通相关的网站,广州三合一企业网站哪家好C中使用 if…else 有条件地执行多条语句
如果要在满足#xff08;或不满足#xff09;条件时执行多条语句#xff0c;需要将它们组合成一个语句块。包含在大括号#xff08;{}#xff09;内的多条语句被视为语句块#xff0c;例如#xff1a;
if (condition)
{// cond…C中使用 if…else 有条件地执行多条语句
如果要在满足或不满足条件时执行多条语句需要将它们组合成一个语句块。包含在大括号{}内的多条语句被视为语句块例如
if (condition)
{// condition success blockStatement 1;Statement 2;
}
else
{// condition failure blockStatement 3;Statement 4;
}这样的语句块也被称为复合语句。
写在花括号{}中的内容组成的语句就是复合语句。特别的如果你只写了一个花括号里面什么内容都没有这也是一种空语句相当于只有一个分号。
复合语句有三个主要特点
1整个花括号中虽然可能包括了多条语句但是算作一个复合语句。
2复合语句有自己的作用域因此在离开复合语句以后其中定义的变量会销毁。
3复合语句的结束不需要分号当然也许从这是一个语句的角度来说应该要写分号才对但是不写分号可以算作是一种福利。也就是既然已经知道它在哪里结束了就不用再额外写结束标志了。
以下示例程序使用了一条复合语句这条语句仅当用户输入的长度在静态字符数组的边界内时才将其复制到这个数组中。
#include iostream
#include string
#include string.husing namespace std;int main()
{cout Enter a line of text: endl;string userInput;getline (cin, userInput);char copyInput[20] { \0 };if (userInput.length() 20) // check bounds{strcpy(copyInput, userInput.c_str());cout copyInput contains: copyInput endl;}elsecout Bounds exceeded: wont copy! endl;return 0;
}输出
Enter a line of text:
This fits buffer!
copyInput contains: This fits buffer!再次运行的输出
Enter a line of text:
This doesnt fit the buffer!
Bounds exceeded: wont copy!注意到将字符串复制到缓冲区中前第 11 行检查字符串是否比缓冲区短。另外这条 if 语句的特殊之处在于如果条件为 true将执行第 1215 行的语句块也叫复合语句。
该文章会更新欢迎大家批评指正。
推荐一个零声学院的C服务器开发课程个人觉得老师讲得不错 分享给大家LinuxNginxZeroMQMySQLRedis fastdfsMongoDBZK流媒体CDNP2PK8SDocker TCP/IP协程DPDK等技术内容 点击立即学习C/C后台高级服务器课程