switch(表达式){
    case 整型常量表达式:语句序列
    case 整型常量表达式:语句序列
    default:语句序列
}

while(表达式)
    语句

for(表达式1; 表达式2; 表达式3)
    语句
表达式1与表达式3通常是赋值表达式或函数调用;表达式2是关系表达式。这3个组成部分任意部分都可省略,但分号必须保留。如果在for语句中省略表达式1与表达式3,它就退化成了while循环语句。如再省略表达式2,则认为其值永远为真,即成了死循环。
for(;;){
}

 1 #include <stdio.h>
 2 #include <ctype.h>
 3 int atoi1(char s[]);
 4 int atoi2(char s[]);
 5 
 6 main(){
 7     printf("%d\n", atoi2("+111"));        //111
 8     printf("%d\n", atoi2("-111"));        //-111
 9     printf("%d\n", atoi2("    -111"));    //-111
10     
11     printf("%d\n", atoi1("999"));         //999
12     printf("%d\n", atoi1("-999"));         //999
13     return 0;
14 }
15 
16 /***将s转换为整数 版本1***/
17 int atoi1(char s[]){
18     int i;
19     int n = 0;
20     for(i=0; s[i]!='\0'; i++){
21         if((s[i] >= '0') && (s[i] <= '9'))
22         n = n * 10 + s[i] - '0';
23     }
24     return n;
25 }
26 
27 /***将s转换为整数 版本1的升级版***/
28 int atoi2(char s[]){
29     int i, n, sign;
30     //跳过空白符 
31     for(i=0; isspace(s[i]); i++)
32         ;
33     sign = (s[i] == '-') ? -1 : 1;
34     //跳过符号 
35     if(s[i] == '+' || s[i] == '-')
36         i++;
37     for(n=0; isdigit(s[i]); i++){
38         n = 10 * n + (s[i] - '0');
39     }
40     return sign * n;
41 }
View Code

相关文章:

  • 2021-08-03
  • 2022-01-07
  • 2021-06-13
  • 2021-09-25
  • 2021-06-04
  • 2021-12-03
  • 2022-03-03
  • 2021-06-25
猜你喜欢
  • 2021-06-24
  • 2022-01-22
  • 2022-01-06
  • 2022-01-22
  • 2021-06-08
  • 2021-10-18
  • 2022-01-31
相关资源
相似解决方案