新人求教?
int i;char str;
printf("input:");
for(i=0;i<3;i++)
scanf("%s",str);
for(i=0;i<3;i++)
printf("%s\n",str); 每次输入 aaa 回车bbb回车 ccc回车 结果显示都是aaabbbcccaaabbbccc不知道怎么回事书上都是这样写 可为什么不是显示aaa bbb ccc该怎么解决呢这是哪里的问题 二维数组的定义你还没弄清楚,建议网上搜下二维数组的定义去看下,再看下别人怎么写二维数组的代码。还有scanf里面str[]前面要加&,才能把输入的值赋给数组;弄清楚%s和%c这些符号的意思。 以下是我的理解
首先输入没问题,其次就是要知道二维数组的存储方式,在C语言中,二维数组是按照一行一行的方式连续存储的,所以楼主在使用 for(i=0;i<3;i++)printf("%s\n",str);语句进行输出时,(这里采用指针解释,str就相当于是一个指针)第一次,指向二维数组的首地址str,由于是按照%s的形式输出,在没有遇到终止符之前会一直输出,也就是aaabbbccc,第二次,此时指向str,同样按照上面的方法输出,bbbccc,第三次也一样,ccc,如果楼主想要按照aaa bbb ccc的形式输出,我暂时想到的方法就是
for(i=0;i<3;i++){
for(j=0;j<3;j++)
{
printf("%c",str);
}
printf("\n");
}
页:
[1]