C语言之不使用strcpy()函数实现字符串复制功能

#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
{
    printf("%d",a[i]);
    printf("\n");
}

这里的%d改为%c即可。

追问

运行程序,变成非法内存访问

追答

你输入了多长?

温馨提示:答案为网友推荐,仅供参考
相似回答