C语言中怎么让i在一个函数执行后保持值不变

void GPIO_Port_D_ISR(void) { unsigned long ulStatus; ulStatus = GPIOPinIntStatus(MEM_PORT, true); // 读取中断状态 GPIOPinIntClear(MEM_PORT, ulStatus); // 清除中断状态,重要 if (ulStatus & MEM_1) // 如果接触开关的中断状态有效 { i++; if(flag4==1) { i=0; i++; mem2(); } //想让i执行完if语句后还是原来的i++。哪位大师可以帮下忙呢?非常感谢,急!!

第1个回答  2012-07-28
。。。不能换一个变量么?非得用i?本回答被提问者采纳

怎么保持输出的变量经过一个循环后值不变?
1. 使用*函数:在函数中定义一个变量,然后调用这个函数,最后返回这个变量。2. 使用常量可以使输出的变量在循环中保持值。请注意,在实际编程中,保持输出的变量经过一个循环后值不变的方法可能会有所不同。因此,建议在使用这些方法之前仔细阅读源代码,以确保方法的正确性和可靠性。(#以上仅供参考)

c语言结构作为函数变量,但函数执行结束后结构值没有改变
改变函数形参的值并不会影响到实参的值这是函数的基本知识。要在函数中修改实参的值需要传递指向实参的指针作为参数然后通过指针去修改实参的值。include<stdio.h>typedef struct SS{ int x; int y;}SS;void fun(SS* p){ p->x=1; p->y=2;}int main(){ SS ss; fun(&...

C语言编程中要保留一个子函数中的一个数值要怎么办?
如果该数值是 子函数的局部变量,可以声明为static类型的局部变量,可以保证在该子函数结束后,该变量的值保持在函数结束时的数值不变。如果是非static局部变量,可以使用全局变量进行保存,跟踪该变量的值。如果没有全局变量,可以使用函数返回,将该变量作为返回值,或者使用引用参数返回该变量值。

c语言定义了一个全局变量,为什么该变量在函数调用后,值没发生改变?
如果通过函数传参方式调用,并且不是传的指针,那就不会改变原来的值,如果想改变全局变量的值,可以直接在函数中使用,不需要传参。也或者你传指针进去

C语言调用函数后,为什么实参的值没有发生改变?
函数内部里只是把m的值1传给了x.然后x=2 x的值改变和m有什么关系呢 要想改变m的话可以这么改写函数 int s(int *p){ *p=2;}void main(){ int m=1; s(&m); printf("%d\\n",m);}区别在于 第二个用的是地址.虽然也是复制形参,但是他们是复制的是 地 址.所以这里s(&m...

单片机c语言中为什么我调用了一个函数后原来在主函数中的一个变量值变 ...
肯定是调用函数中某个变量使用了与主函数中变量一样的地址。或者,使用了相同的变量。解决方法:在函数中将该变量重新定义一下。

C语言怎样在退出程序之后还保持变量的值不变,下次用程序值还在。
必须用文件来保存变量。变量保存在内存中,但是你程序退出了,内存都释放了,还怎么保持变量值不变。必须用文件来保存变量值,程序开头要读文件,给变量赋值。

怎么能让一个函数在满足一个条件时执行,且只执行一次
设置一个标志位,当执行前,判断标志位,执行后清除标志位,如c语言:if( flag ){ function(); flag = 0;}

c语言中调用一个函数,被调用的函数只能有一个返回值???
所谓函数,在离散数学里的定义就是具有单值性的关系。我用过c和python,他们的函数都是符合离散数学定义的,也就是说只有一个返回值。但是,c的函数可以返回指针,这就意味着你可以返回一个数组或者链表,相当于返回了多个值。

C语言:定义一个CHANGE函数,怎么printf后还是跟实参一样啊?
这个值是值传递的,是不会改变值的。类似于这样;函数调用时 change(int e = x, int d = y)里面执行的是 c = e; e = d; d =c;它换的是e d这两个变量,你在change里打印是正确的,而不是x和y;

相似回答