第一次写代码遇到报这个错,实在是想不通为什么,按常理应该是不会有问题,报错的呀??纠结了一会之后只好仔细查看报错原因咯,原来是:
当我们在block代码块中使用局部变量时,就会很容易出现如图的错误.
知道原因就好解决问题了......
意思是:变量是不可转让的缺块。
其实,我们只需在变量声明时加上static关键字就可以了,如图所示:
持续记录工作和项目中遇到的问题.....提高自己!!!
Q1:板施工图中没有挠度和裂缝的计算结果原因是什么?
A:楼板计算分析有三种方法弹性算法、塑性算法、有限元法。
程序目前采用弹性、塑性算法得出的受力、挠度、裂缝结果为根据《静力手册》查表所得。采用弹性、塑性算法的板(《静力手册》查表),必须满足矩形规则板块 、单边边界条件一致、无局部荷载三个条件。当不满足上述条件时。程序采用有限元法进行计算,对于采用有限元法计算的楼板不适用于《静力手册》,此时楼板不输出挠度、裂缝计算结果。
楼板异形
单边边界条件一致
存在局部荷载
Q2:基础柱底弯矩放大系数何时需要考虑?
A:《地规》8.4.17规定:对有抗震设防要求的结构,当地下一层结构顶板作为上部结构嵌固端时,嵌固端处的底层框架柱下端截面组合弯距设计值应按现行国家标准《建筑抗震设计规范》GB 50011的规定乘以与其抗震等级相对应的增大系数。当平板式筏形基础板作为上部结构的嵌固端、计算柱下板带截面组合弯矩设计值时,底层框架拄下端内力应考虑地震作用组合及相应的增大系数。
当基础设计时,基础读取的上部结构内力为单工况下标准值结果,不会考虑上部结构柱底地震组合内力调整。同时满足框架结构、平板式筏形基础、嵌固端位于基础顶时,柱底弯矩需要按照《抗规》6.2.3或《高规》6.2.2调整。此时需要选择柱底弯矩放大系数,程序才可进行柱底地震作用组合弯矩调整。
Q3:梁荷载中无截面设计是什么意思?
A:对于一般混凝土梁构件,程序只按单向受弯构件设计,仅考虑竖向荷载下的设计,对于面外水平向荷载,梁构件不进行水平向受弯设计。对于钢结构梁,可以按照双向受弯构件设计,可以在“SATWE前处理及计算-特殊梁”中将梁设置为双向受弯构件,此时程序可以进行钢梁的面外设计。
Q4:剪力墙建模时长度850,计算结果查看构件信息长度却变成800是什么原因?
A:出现异常的剪力墙位于三层,产生这种情况的原因为二层此处存在一道X向的墙(见下图),此墙的偏轴距离为50mm,因为二层墙偏轴,导致二、三层此处Y向墙为实现上下层剪力墙的连接,被调整短了50mm,变成了800mm。
剪力墙建模长度与计算长度不同除了偏心原因,也可能是其他原因,比如上下层节点错开距离较小,导致程序的归并。导致错层的原因一般通过查看SATWE前处理及计算-模型简图-空间简图查找到原因。
Q5:在结构建模时楼盖采用组合楼盖,楼板厚度和荷载应该如何输入?
A:布置了压型钢板后,不论组合楼盖还是非组合楼盖,楼板厚度都应按照由压型钢板肋顶到楼板顶面这个高度范围内的板厚。
SATWE整体计算时,勾选“自动计算现浇楼板自重”后,程序计算的楼板自重均为不含凹槽部分的混凝土板重,且不包含压型钢板自重,因此在建模时,需要在板面恒载上增加压型钢板重量以及凹槽中的混凝土重量。
组合楼盖需要进行施工阶段的验算,在“砼结构施工图”中的“组合楼板”模块施工阶段的挠度和受弯承载力计算时,程序会自动考虑的恒载包括含凹槽部分的湿混凝土板重和压型钢板自重。
本文来源于PKPM构力科技,仅作分享学习交流,如有侵权,请联系小编删除!
技术交流QQ群【JAVA,C++,Python,.NET,BigData,AI】:170933152
由于使用不当造成的电气电子设备损毁,通常会出现局部电流过大的现象,大电流在导体中短时间内发出过多的热量,引起设备变烫、冒烟甚至燃烧,是为“烧了”。
这个大电流可能是导致设备损坏的直接原因,例如变压器烧了;也可能是由于电压击穿、电磁干扰导致电路工作不正常所带来的后续现象,例如主板烧了。
代码问题
问题描述
1.程序能够正常运行,在void中运行的blank,number,number,ab始终显示为0;
2.没有弄清楚全局变量到底运用于什么情况?解决方案
1问题原因:错误定义了全局变量的位置;局部变量(auto变量)在函数结束后会自动释放存储空间,所以一定是0;
2.全局变量运用于那些主函数和子函数都需要且最后需要输出的值,全局变量的意思就是在该系列所有函数都定义了的变量,运行于主程序的完整流程的变量。
切记两点:
(1)全局变量不是在主函数中定义的!!!注意位置
(2)在子函数中不要在额外定义了,全局变量与局部变量冲突且不报错详见错例第一行
ps:不要过分纠结这一块,学完指针啥都明白了。void friday3(int blank, int number, int other, int ab, char t1[])//形参不能乱定义的 { int m; int i; m = zifushu(t1); for (i = 0; i < m; i++) { if ((t1[i] >= 'a' && t1[i] <= 'z') || (t1[i] >= 'A' && t1[i] <= 'Z')) ab++; else if (t1[i] >= '0' && t1[i] <= '9') number++; else if (t1[i] == ' ') blank++; else other++; } } # include <stdio.h> int main(void) { char t1[1000]; int blank = 0, number = 0, other = 0, ab = 0;//主函数定义的不是全局变量 gets_s(t1); void friday3(int blank, int number, int other, int ab, char t1[]); friday3(blank, number, other, ab, t1);//调用形参单元被释放,实参单元被保留 printf("%d%d%d%d\n", blank, number, ab, other); return 0pp
下面展示
修正的
。# include <stdio.h> int blank,number,other,ab; void friday3(char t1[]) { int m; int i; for (i = 0; t1[1]!='\0'; i++)//优化写法 { if ((t1[i] >= 'a' && t1[i] <= 'z') || (t1[i] >= 'A' && t1[i] <= 'Z')) ab++; else if (t1[i] >= '0' && t1[i] <= '9') number++; else if (t1[i] == ' ') blank++; else other++; } int main(void) { char t1[1000]; gets_s(t1); blank = 0, number = 0, other = 0, ab = 0; void friday3(char t1[]); friday3(t1); printf("%d %d %d %d\n", blank, number, ab, blank); return 0; }
第一次写代码遇到报这个错,实在是想不通为什么,按常理应该是不会有问题,报错的呀??纠结了一会之后只好仔细查看报错原因咯,原来是:
当我们在block代码块中使用局部变量时,就会很容易出现如图的错误.
知道原因就好解决问题了......
意思是:变量是不可转让的缺块。
其实,我们只需在变量声明时加上static关键字就可以了,如图所示:
持续记录工作和项目中遇到的问题.....提高自己!!!
转载于:https://www.cnblogs.com/pengsi/p/6557691.html