#include<stdio.h> main() {char *a[]={"adcd","ef","gh","ijk&
答案:4 悬赏:80 手机版
解决时间 2021-11-20 05:08
- 提问者网友:佞臣
- 2021-11-19 19:55
#include<stdio.h> main() {char *a[]={"adcd","ef","gh","ijk"};int j; for(i=0,i<4,i++)pintf("%c&qu
最佳答案
- 五星知识达人网友:归鹤鸣
- 2021-11-19 20:32
程序中有些错,例如分号用了逗号,printf漏了字母,改正如下。
#include
main()
{char *a[]={"abcd","ef","gh","ijk"};
int i;
for(i=0;i<4;i++)printf("%c",*a[i]);
}
===
这个声明 char *a[]={"abcd","ef","gh","ijk"};
等于声明并初始化: char a[4][]={"abcd","ef","gh","ijk"}; 共4 行 字符串
字符串 a[0] 是 "abcd", a[1] 是 "ef", a[2] 是 "gh", a[3] 是 "ijk".
for(i=0;i<4;i++) {} 循环语句,i=0,1,2,3 循环 4 次
printf("%c",*a[i]); 按 %c 格式(就是 打印 1 个 ASCII 符号 的格式),
分别输出 *a[0],*a[1], *a[2], *a[3]. -- 等同 a[i][0],
等同 分别输出 a[0][0],a[1][0],a[2][0],a[3][0].
所以输出 aegi.
---------
如果输出语句是:for(i=0;i<4;i++)printf("%s\n",a[i]);
%s 是 字符串,\n 换行,则输出:
abcd
ef
gh
ijk
#include
main()
{char *a[]={"abcd","ef","gh","ijk"};
int i;
for(i=0;i<4;i++)printf("%c",*a[i]);
}
===
这个声明 char *a[]={"abcd","ef","gh","ijk"};
等于声明并初始化: char a[4][]={"abcd","ef","gh","ijk"}; 共4 行 字符串
字符串 a[0] 是 "abcd", a[1] 是 "ef", a[2] 是 "gh", a[3] 是 "ijk".
for(i=0;i<4;i++) {} 循环语句,i=0,1,2,3 循环 4 次
printf("%c",*a[i]); 按 %c 格式(就是 打印 1 个 ASCII 符号 的格式),
分别输出 *a[0],*a[1], *a[2], *a[3]. -- 等同 a[i][0],
等同 分别输出 a[0][0],a[1][0],a[2][0],a[3][0].
所以输出 aegi.
---------
如果输出语句是:for(i=0;i<4;i++)printf("%s\n",a[i]);
%s 是 字符串,\n 换行,则输出:
abcd
ef
gh
ijk
全部回答
- 1楼网友:举杯邀酒敬孤独
- 2021-11-19 23:36
关键区别在于最后输出函数中的*a是输出首元素的地址,则循环后为abcd。*a[i]为每行首元素,即输出aegi这四个值。很荣幸为您解答问题,祝你学习进步!
- 2楼网友:琴狂剑也妄
- 2021-11-19 22:31
你这个题目是错的吧
LS在扯淡,trust me
LS在扯淡,trust me
- 3楼网友:怙棘
- 2021-11-19 22:10
楼上很强大,
支持楼上。
程序中有些错,例如分号用了逗号,printf漏了字母,改正如下。
#include
main()
{char *a[]={"abcd","ef","gh","ijk"};
int i;
for(i=0;i<4;i++)printf("%c",*a[i]);
}
===
这个声明 char *a[]={"abcd","ef","gh","ijk"};
等于声明并初始化: char a[4][]={"abcd","ef","gh","ijk"}; 共4 行 字符串
字符串 a[0] 是 "abcd", a[1] 是 "ef", a[2] 是 "gh", a[3] 是 "ijk".
for(i=0;i<4;i++) {} 循环语句,i=0,1,2,3 循环 4 次
printf("%c",*a[i]); 按 %c 格式(就是 打印 1 个 ASCII 符号 的格式),
分别输出 *a[0],*a[1], *a[2], *a[3]. -- 等同 a[i][0],
等同 分别输出 a[0][0],a[1][0],a[2][0],a[3][0].
所以输出 aegi.
---------
如果输出语句是:for(i=0;i<4;i++)printf("%s\n",a[i]);
%s 是 字符串,\n 换行,则输出:
abcd
ef
gh
ijk
支持楼上。
程序中有些错,例如分号用了逗号,printf漏了字母,改正如下。
#include
main()
{char *a[]={"abcd","ef","gh","ijk"};
int i;
for(i=0;i<4;i++)printf("%c",*a[i]);
}
===
这个声明 char *a[]={"abcd","ef","gh","ijk"};
等于声明并初始化: char a[4][]={"abcd","ef","gh","ijk"}; 共4 行 字符串
字符串 a[0] 是 "abcd", a[1] 是 "ef", a[2] 是 "gh", a[3] 是 "ijk".
for(i=0;i<4;i++) {} 循环语句,i=0,1,2,3 循环 4 次
printf("%c",*a[i]); 按 %c 格式(就是 打印 1 个 ASCII 符号 的格式),
分别输出 *a[0],*a[1], *a[2], *a[3]. -- 等同 a[i][0],
等同 分别输出 a[0][0],a[1][0],a[2][0],a[3][0].
所以输出 aegi.
---------
如果输出语句是:for(i=0;i<4;i++)printf("%s\n",a[i]);
%s 是 字符串,\n 换行,则输出:
abcd
ef
gh
ijk
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯