概述
今天做PAT题目时候看人家解答:
1 #include <cstdio> 2 #include <set> 3 using namespace std; 4 int main() { 5 int y, n; 6 scanf("%d%d", &y, &n); 7 for (int i = y; i <= 3012; i++) { 8 set<int> s; //每次循环,s都是在同一个地址 9 // printf("%pn", &s); 10 int num = i; 11 // printf("%pn", &num); 12 for (int j = 0; j < 4; j++) { 13 s.insert(num % 10); 14 num /= 10; 15 } 16 if (s.size() == n) { 17 printf("%d %04d", i - y, i); 18 break; 19 } 20 } 21 return 0; 22 }
突然想到第8行和第10行兴义的变量是否每次都不一样,惨后输出它们的地址试试发现都是一样的,也就是说,逻辑上其实在每一次的循环中它们都应该是不一样的,因为是“新定义”的嘛。然而,如果真的就不一样了,倘若循环次数很大的话,那岂不是内存告急~想想真是自己太傻
转载于:https://www.cnblogs.com/fallenmoon/p/7106038.html
最后
以上就是完美外套为你收集整理的C++之循环体内变量的全部内容,希望文章能够帮你解决C++之循环体内变量所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复