题目为利用循环语句编写程序实现以下功能:对一个正整数,将各位数字反序后形成一个新的整数输出。例如,输入12345,输出54321
1.首先你的char c[n]这种定义方法是错误的,不能定义一个未知空间大小的变量,如果编译器不报错,则这个空间大小是随机的,
2.说实话看不出啥问题。我写了一个,是正常可以运行的
int n=5,i;
char c[10];
for(i=0;i<n;i++){
scanf("%c",&c[i]);
}
while(n){
printf("%c",c[n-1]);
n--;
}
printf("\n");
1.char c[n]是个错误的语法,只有C99以上才可以这样用,你不用怕浪费内存,直接定义一个足够大的长度即可
2.即使你的IDE支持C99,char c的定义也应该放到printf前面去,所有的定义都要在最前面,除非你这不是c语言而是c++
3.main函数最后应该加上return 0
1、scanf()在读取字符时会把换行和空格等都给读取,读取其他数字,字符串时则会忽略这些无效字符,所以一般在读取字符时先把缓存区的换行等使用getchar()读取掉再来使用scanf()读取字符
2、循环使用scanf()读取字符需要一个一个输入,每输入一个按enter换行读取
3、修改建议:for循环里边在scanf上边增加getchar()即可