C 从字符串打印字符值时出错
用户必须输入一些项目,然后矩阵必须在3x4上打印它们 当我使用“%c”而不是“%s”时,它可以工作,但它只显示一个字符,但当我想用“%s”打印整个单词时,它就不能工作了C 从字符串打印字符值时出错,c,C,用户必须输入一些项目,然后矩阵必须在3x4上打印它们 当我使用“%c”而不是“%s”时,它可以工作,但它只显示一个字符,但当我想用“%s”打印整个单词时,它就不能工作了 #include <stdio.h> #include <stdlib.h> #include <string.h> char objetos[10][10]; int main(){ int i,e; for (i=1;i<=3;i++){ fo
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char objetos[10][10];
int main(){
int i,e;
for (i=1;i<=3;i++){
for (e=1;e<=4;e++){
system("cls");
printf("Ingrese El Objeto Personal %i-%i: ",i,e);
scanf("%s",&objetos[i][e]);
}
}
system("cls");
for (i=1;i<=3;i++){
for (e=1;e<=4;e++){
printf("%s",objetos[i][e]);
}
printf("\n");
}
return 0;
}
#包括
#包括
#包括
char objetos[10][10];
int main(){
int i,e;
对于(i=1;i
但是当我想用“%s”打印整个单词时,它就不起作用了
格式说明符%s
要求参数为const char*
和objetos[i][e]
不是char*
类型,而是char
类型。
改变这个
for (i=1;i<=3;i++){
for (e=1;e<=4;e++){
printf("%s",objetos[i][e]);
}
不正确,请在此处使用%c
而不是%s
例如
for (i=1;i<=3;i++){
for (e=1;e<=4;e++){
system("cls");
printf("Ingrese El Objeto Personal %i-%i: ",i,e);
scanf(" %c",&objetos[i][e]);
}
}
你有一个字符矩阵。你需要一个字符串矩阵。为什么你的循环从1
开始?数组索引从0
开始。所以不能在矩阵中使用字符串?如果我问了一些愚蠢的问题,我很抱歉。我是编程新手。你的矩阵是单个字符的矩阵。你不能存储多个字符单个字符中的字符串。
scanf("%s",&objetos[i][e]);
for (i=1;i<=3;i++){
for (e=1;e<=4;e++){
system("cls");
printf("Ingrese El Objeto Personal %i-%i: ",i,e);
scanf(" %c",&objetos[i][e]);
}
}
for (i=0;i<=3;i++){
for (e=0;e<=4;e++){
scanf(" %c",&objetos[i][e]); /* give the whitespace before %c to avoid buffer overrun */
}
}