#include <stdio.h>
#include<string.h>
#pragma warning(disable:4996)
int main()
{
char a[5] = { 0 };
int i;
gets_s(a);
for (i = 0; i < 5; i++)
printf("%c", a[i]);
}
输入:213
运行结果:213?
用的是VS
#include <stdio.h>
#include<string.h>
#pragma warning(disable:4996)
int main()
{
char a[5] = { 0 };
int i;
gets_s(a);
for (i = 0; i < 5; i++)
printf("%c", a[i]);
}
输入:213
运行结果:213?
用的是VS
输入213,那a数组有效长度是3,不是5。所以你把数组中无效字符输出了,就成乱码。5改为strlen(a)