C语言for循环break语句

来源:互联网 发布:3b代码编程及简单图形 编辑:程序博客网 时间:2024/06/05 19:37
#include <stdio.h>int main() {int m=0;for(int j=0;j<10;j++){    for(int i=0;i<10;i++)    {            m++;            break;    }}    printf("m=%d",m);    printf("Hello, World!\n");    return 0;}/home/andrew/文档/Clion/untitled4/cmake-build-debug/untitled4m=10Hello, World!Process finished with exit code 0

总结一下,在循环中的break语句,无论有多少层for循环,break语句永远只跳出自己所在那一层循环,即写在那一层循环就跳出那一层循环。
注意静态变量与C++中的常变量的区别,静态变量的作用是在局部函数中定义一个全局变量,

#include <stdio.h>//#include <string.h>int fun(){    static int  x=1;    x*=2;    return x;}int main(){   int i,s=1;    for(i=1;i<=3;i++)s*=fun();    printf("k=%d\n",s);}
E:\Clion_file\pro.1\cmake-build-debug\pro_1.exek=64Process finished with exit code 0

static int x=1;虽然在局部函数中进行定义的,但是一旦声明为static型的变量,x就会相当于全局变量,知道函数结束才进行内存单元的释放。

39有以下程序: #include <stdio.h>#include <stdlib.h> main(){ int *a*b*c;a=b=c=(int *)malloc(sizeof(int));*a1*b2*c3; a=b;printf("%d%d%d\n"*a*b*c);} 程序运行后的输出结果是(  )。1,1,32,2,31,2,3 3,3,3正确答案:D答疑:【解析】malloc函数动态分配一个整型的内存空间,然后把函数返回的地址用(int*)强制类型转换为整型指针,再把它赋给a,b,c,即让指针变量a,b,c都指向刚申请的内存空间。所以只有最后一个赋值语句*c3的值保留在了该空间内,因为a,b,c三个指针变量均指向该空间,所以打印该空间内的数值为3
0 0
原创粉丝点击