本帖最后由 胡文刚 于 2024-7-3 08:18 编辑 1个汉字是2字节还是3字节,还是4字节。取决于编码方式,对你的问题,我觉得长度定义个20也是OK的。 字符串长度定义要足够,并考虑一定的冗余。 此外,你输出的时候格式符也不能再写 a2 了,就只写 a 就行了。 write(*,"('Grade:',a)") trim(grade) 顺便说,发帖的时候代码直接复制粘贴文本就行了,干嘛要截图呢?截图都不能复制其中的代码片段。 |
好像记错了,一个汉字是3个,改成character(len=6)然后最后的格式也要改成a6 |
Transpose 发表于 2024-7-2 20:03 感谢解惑 ,可不清楚为何修改character(len=4)后,结果输出还是“?” |
本帖最后由 Transpose 于 2024-7-2 20:06 编辑 一个汉字一般需要长度为2的字符串才能存储,因此这里你需要定义grade的len至少大于4, character表示的是character(len=1),这里至少需要character(len=4) |
捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )
GMT+8, 2024-12-23 21:44