菜鸟问题啊~~请各位高手们能花几分钟救救~~
使用指针代替下标编程:输入一个字符串,将最后一个字符变为字母"X"输入输出示例:
abcde
abcdx
我是这么写的``可是输出结果是乱码```都不知道是哪里出错了``~
#include<stdio.h>
main()
{ char a[10],*p;
scanf("%s",p);
for(p=a;*p!='\0';p++)
if(p=='\0')
p--;
*p='x';
printf("%s\n",a);
getch();
}
----------------解决方案--------------------------------------------------------
菜鸟问题啊~~请各位高手们能花几分钟救救~~
使用指针代替下标编程:输入一个字符串,将最后一个字符变为字母"X"输入输出示例:
abcde
abcdx
我是这么写的``可是输出结果是乱码```都不知道是哪里出错了``~
#include<stdio.h>
main()
{ char a[10],*p;
p = a;
scanf("%s",p);
for(p=a;*p!='\0';p++)
if(p=='\0')
p--;//现在是在'\0'位置,需在减1。
*p='x';
printf("%s\n",a);
getch();//没有包含头文件conio.h
}
----------------解决方案--------------------------------------------------------
“指针变量同普通变量一样,使用之前不仅要定义说明, 而且必须赋予具体的值。未经赋值的指针变量不能使用, 否则将造成系统混乱,甚至死机。”
使用指针一定要初始化。
因此要加上“p = a;”
----------------解决方案--------------------------------------------------------
菜鸟问题啊~~请各位高手们能花几分钟救救~~
使用指针代替下标编程:输入一个字符串,将最后一个字符变为字母"X"输入输出示例:
abcde
abcdx
我是这么写的``可是输出结果是乱码```都不知道是哪里出错了``~
#include<stdio.h>
main()
{ char a[10],*p=a;
scanf("%s",p);
for(;*p!='\0';p++) ;
/* if(p=='\0')*/ /*因为 只有p不为空才会执行循环,所以这个不会执行*/
p--;
*p='x';
printf("%s\n",a);
getch();
}
----------------解决方案--------------------------------------------------------