返回值怎么这么奇怪..完全不懂,问了好多人,没有解决.凑字数,要三十字,不够,凑字数,要三十字,不够,凑字数
因为你g字符串最后没有加'\0'
来表示字符串结束
要在for循环之后加上
g[e]='\0';
#include<stdio.h>
int gettime(char a){
int sum = 0;
while(a){
sum += a % 10;
a /= 10;
}
return sum;
}
int main(int argc, char const *argv[]){
char a;
while(scanf("%c",&a)){
for (int i = 0; i < gettime(a); i++)
{
printf("%c",a);
}
printf("\n");
}
};
g赋完值再来个g[e]='\0'
比如a 的ascll是97 9+7=16输出16次
你用一个变量每次记录ascll吗的每位之和后循环输出相应的次数即可
#include<stdio.h>
int main(){
char c;
int x;
while(scanf("%c",&c)){
x=c;
for (int i = 0; i < x; i++)
{
printf("%c",c);
}
printf("\n");
}
}