#include<stdio.h>
int main()
{
char a[100];
int i;
printf("Input a string one: ");
gets(a);
for(i=0;i<100;i++)
if(a[i]=='\0')
{
break;
}
else
{
printf("%d",a[i]);
printf("\n");
}
printf("String two: \n");
puts(a);
printf("\n");
return 0;
}
这是我自己编写的错误代码,其中根本没有实现字符互换,这不是主要问题,问题是输出的时候会出现字符的ASCLL.调试程序也不知晓原因。望解答
输出一个字符用的格式是%c,输出他的ascii值的格式是%d
else这里的%d改为%c即可。
追问运行程序,变成非法内存访问
追答你输入了多长?