两个问题想了一天·····
#include<stdio.h>int main()
{
int i,j,n;
int array = {0};
for(i=0;i<3;i++)
{
for(j=0;j < 3;j++)
{
array = getchar();
}
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%c ", array);//这里 输出不应该是"%d" 么,因为array是int型
}
printf("\n");
}
return 0;
} #include <stdio.h>
#include <string.h>
#define MAX 1024
int main()
{
int i,j;
char str;
scanf("%s",str);
int length,ave;
length=strlen(str);
ave=length/2;
for(i=0;i<ave;i++)
{
for(j=0;j<ave;j++)
{
printf("%c ",str); 这里输出为什么采用str就会报错?
而且str就不会报错了?
}
printf("\n");
}
return 0;
} 第一个问题,%c的目的可能是为了输出对应的ascii字符
第二个问题…他是个一维数组…你进行了二维数组的操作…或者说 指向指针的指针的操作… 1, 虽然array存放的是int数据,由于开始就是用getchar输入的,所以存放的值就是字符对应的ascii值,所以可以用%c进行输出
2,你声明的str只是一个指向一维数组的指针,不能用二维数组的下标索引形式
页:
[1]