哪位大神告诉我错误到底错在哪里,谢谢了

http://img.mukewang.com/5889cb8c0001698d06170513.jpg

黄Yellow
浏览 1549回答 4
4回答

慕粉13202587281

定义数组时,如果你没有初始化,元素个数是要申明的,int a[10]; char ch[2][20];这个样子才行

_dark

首先,你截图的不是全屏,也没有说明语言,提问的题目也很不友好(问题描述不清楚),应提问如:X语言代码报错,找不到错误然后,从代码看出这是C,语法不允许这样定义变量:ch[][],应明确标明数组大小,如:ch[2][2]最后,报错是因为你对转义字符理解不够,不是因为变量定义的问题,因为你的变量没有用,printf函数中字符串中的转义字符‘%d’是整型占位符,接收的是变量值,不是指针,这是我猜测的错误,根据那条不完整的编译器报错,因为你没说明score数组是一维还是二维,代码截的太短‘%s’是字符串占位符,接收指针,而你传入的是变量值,在你先将二维数组ch的错误改正并给其赋值后,可以这样写来获取字符串:‘ch[i]’即二维数组中的字符串的地址全手打,请认真阅读,谢谢,不懂再问

眼前的黑不是黑zz

printfscore函数里面的第二行char ch[][],这样是不行的,第一个[]里面可以省略,第二个[]里面不可以省略比如声明一个二维数组:int str[][3]={{1,2,3},{4,5,6},{7,8,9}}; //这样声明可以的
打开App,查看更多内容
随时随地看视频慕课网APP