一道c语言纠错题 str[5][]

题目:
指出错误的地方,解释错误原因,并改正错误.使程序能够倒序输出给定字符串.

#include<stdio.h>

int main() {
    char str[5][] = { "First","Second","Third","Forth","Fifth" };
    char *cp[] = { str[4],str[3],str[2],str[1],str[0] };
    int i;
    while (i <=5) {
        printf("%c ", *(cp+i));
        i++;
    }
    getchar();
    return 0;
}

改正:

#include<stdio.h>

int main() {
    char str[5][7] = { "First","Second","Third","Forth","Fifth" };
    char *cp[] = { str[4],str[3],str[2],str[1],str[0] };
    int i = 0;
    while (i < 5) {
        printf("%s ", *(cp+i));
        i++;
    }
    getchar();
    return 0;
}

// 输出:
//Fifth Forth Third Second First

然后我这里有点搞不明白
为什么要设置str[5][7] , 方框里空着不是可以自己扩展么 😂

#笔试题目#
全部评论
二维数组定义时行数可以不确定,但是列数必须给定。因为二维数组本质是一维数组
点赞 回复 分享
发布于 2018-11-13 19:23

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务