一c语言问题 #include<stdio.h> void fun(char*c) {
一c语言问题 #include<stdio.h> void fun(char*c) {
日期:2014-09-20 21:06:05 人气:1
你在程序里有判断if(*c>='a'&&*c<='z'),所以只有*c为小字英文字母的时候,才能执行*c=*c-32,所以s[5]的值,在你程序执行完是不变的。
你主函数输出的是s[5],也就是你输入的第五个字符,你输入的是空格,对应的ascii码值就是32。而你在子函数里输出的时候,用的是c[5],此时while循环已经执行完,*c为0,但是c[5]是c后面第五个地址中的数据,此数据不是你处理过的,是内存中原来的数,应该是个不确定的值。18只是个巧合,你换个