#include <stdio.h>
#include <string.h>
int main()
{
char s[10];
int len = sizeof(s)/sizeof(s[0]);
int i;
printf("请输入你的字符串: ");
scanf("%s",&s);
for(i = 0; i < len; i++)
{
printf("s[%d]=%c\n",i,s[i]);
}
}
问题描述:
定义了一个字符型数组,通过scanf输入字符后再通过for循环打印出来,但打印出来的第8个数组元素显示出一个方框。如果printf里使用%d输出,有时候显示的是数字1,ascii码对应的是SOH(start of headline),标题开始。有时候显示的是48,意思是字符0。
请问大家这是什么原因导致的呢?