(Fortran)请问字符型变量声明语句中怎么定义不同长度的字符型变量?

   书上说的我不理解,书上说声明语句“CHARACTER *8 a,b,c*10”定义了不同长度的3个字符型变量,ab长度都是8,c长度是10。
    这个a,b,c夹在*8和*10中间就很不理解,ab,c都是跟在*8后面的,*10前面的,为什么不是都是长度为8或长度为10,亦或者为什么不是a的长度为8b,c的长度为10。
    我以为是书写错了,我感觉是a的长度为8b长度为1,c长度为10,但是我运行的时候说我语法错误,求解

img

img

1、你的代码,和你给的文字秒速,完全不一样,当然报错;
2、字符串定义可以看看这个https://www.bilibili.com/video/BV1XD4y1S7jz?p=2
4、相同的功能:

character*8 a, b, c*10 
character(8) a, b, c*10 
character(10) a*8, b*8, c 
character a*8, b*8, c*10

3、核心问题是优先级:表明此行定义的变量默认长度是8,但c的长度为10,因为后者优先级高。