c - C 仅用于打印最后一个索引输入
问题描述
我试图在 C 中做一个程序。捕获每个专辑的名称、年龄、专辑编号、名称和歌曲。我没问题,但它只打印最后一张专辑名称。假设我输入了 3 个专辑,“a”、“b”和“c”。它只会打印 c 3 次。它应该是a,b和c。谢谢你。
#include <stdio.h>
int main() {
//variables
int edadCantante;
int x,numeroCanciones[x];
char nombreCantante;
char nombreDiscos[30][x];
printf("Introduzca el nombre del artista: ");
scanf(" %[^\n]",nombreCantante);
printf("Introduzca edad del artista: ");
scanf("%d", &edadCantante);
printf("Introduzca número de discos: ");
scanf("%d\n",&x );
// taking input and storing it in an array
for(int i = 0; i < x; ++i) {
scanf("%[^\n]%*c", nombreDiscos[i]);
}
printf("Desplegando albumes:\n ");
// printing elements of an array
for(int i = 0; i < x; ++i) {
printf("%s\n", nombreDiscos[i]);
}
printf("Número de canciones por album respectivamente:\n ");
for(int i = 0; i < x; ++i) {
scanf("%d", &numeroCanciones[i]);
}
printf("Desplegando número de canciones:\n ");
// printing elements of an array
for(int i = 0; i < x; ++i) {
printf("Número de canciones en album %d = %d\n",i+1,numeroCanciones[i]);
}
return 0;
}
解决方案
您需要移动numeroCanciones
and的声明nombreDiscos
。像这样:
int x;
scanf("%d\n",&x );
int numeroCanciones[x];
但是不要忘记检查返回值scanf
以防读取失败。
推荐阅读
- javascript - 为什么我得到“无法获取未定义或空引用的属性'值'”?
- python - 从打字中扩展 FrozenSet
- javascript - 如何使用 node.js 获取 pouchdb 文档的所有 id
- python - 如何调整seasonal_decompose() 上的x 标签?
- node.js - 在 CentOS-7-x86_64-GenericCloud.qcow2 映像上安装 yarn、npm 和 Node.js 会导致问题
- python - 带字符串的 Python 密钥生成器不起作用
- spring-boot - webflux Mono 响应为空
- python-3.x - 无法计算决策树回归器的模型性能
- jenkins - 错误消息:未配置 JIRA 站点 | 使用 JiraCloud
- json - 如何使用 json.net 反序列化字符串 - 该库有两个版本吗?