一个C语言程序问题,看晕了,求大神详解
发布时间:2025-05-13 18:59:59 发布人:远客网络
一、一个C语言程序问题,看晕了,求大神详解
1、if(x>=10)break;//<-----1
2、if(x%2==0){x+=5;continue;}//<-----2
3、第一次循环:条件1不成立,不会break。条件2不成立,执行3,x=-2, y=2;
4、第二次循环:条件1不成立。条件2成立,x=3。执行continue,忽略语句3,执行下个循环。
5、第三次循环:条件1不成立。条件2不成立,执行3,x=0, y=3
6、第四次循环:条件1不成立。条件2成立,x=5。执行continue。忽略3,执行下一个循环。
7、第五次循环:条件1不成立。条件2不成立,执行3,x=2, y=4
8、第六次循环:条件1不成立。条件2成立,x=7。执行contine。忽略3,执行下一个循环。
9、第七次循环:条件1不成立。条件2不成立。执行3,x=4, y=5
10、第八次循环:条件1不成立。条件2成立,x=9。执行continue。忽略3,执行下一个循环。
11、第九次循环:条件1不成立。条件2不成立。x=6, y=6。
12、第十次循环: y<=5不成立,循环结束。
二、C语言简单问题
指针类型是说指针定义时的类型,比如int*i定义一个Int类型的指针i,char*p定义一个char类型的指针p,定义类型主要是为了让指针移动的时候知道指针移动几个字节,比如说在VC 6.0的环境下,int指针每次++,移动4个字节,而double类型的指针每次++,移动8个字节。
指针指向的类型是说指针指向可以是字符串常量,也可以是一些变量。
char* const p="abc";//定义一个常量指针,即指针的地址不能改变,因为指针变量前面增加了一个const。
const char* p="abc";//定义一个指针,让这个指针指向常量字符串,因为定义语句开始有个const。故说明"abc"是个常量字符串,后面不可以用*p来修改这个"abc"。但是p本身的值是可以改变的。
下面的例子说明上例中p本身的值是可以改变的:
三、关于C语言的问题
1、void func(int*a, int b[])//定义函数,无返回值
2、{ b[0]=*a+6;}/*原文貌似该用大括号吧,把地址a的数加上6放进数组b[0]因为直接对数组进行操作,函数中数组b的地址和主函数中数组b地址一样,所以不用返回值*/
3、{ case 1: case 3:n+1;k--;break;
4、 default:n=0;k--;/*switch语句会在找到一个入口后顺序向下执行,这个语句放在这里也就是说只要不等于1,3都会执行,因为没break语句,下面的都会被执行*/
5、 case 2: case 4:n+2;k--;break;
6、 printf("%d",n);/*第一次输出2,第二次输出3,第三次输出2*/
7、 for(j=3;j<=i;j++) m=m%j;/*第一次,第二次循环i=1,2都不满足条件,第三次i=3满足条件m=1*/