【发布时间】:2018-01-24 03:23:19
【问题描述】:
我的问题是它只打印出 1 个字母,而它应该打印整个字符串。我将衷心感谢您的帮助!再次感谢您对我的帮助。
#include < stdio.h >
int main(void) {
int val;
val=1;
while (val!=0) {
printf("\n");
printf("Choose\n");
printf("1) Add new letter\n");
printf("2) Empty string\n");
printf("3) Print string\n");
printf("0) Stop\n");
printf("Choice: ");
scanf("%d",&val);
printf("\n");
char sign[200];
char sign2[200];
int size;
size = strlen(sign2);
switch (val) {
case 1:
printf("Give some letter: ");
scanf("%s",&sign2);
strcpy(sign, "");
strcat(sign,sign2);
sign2[size]=sign2;
sign2[size+1]='\0';
break;
case 2:
if (val==2) {
printf("Emptied string.\n");
sign2[0] = '\0';
}
break;
case 3:
if (size == 0) {
printf("Is empty\n");
} else {
printf("String: %s\n",sign);
}
break;
case 0:
printf("Stopping.\n");
break;
default:
printf("Unknown.\n");
break;
}
}
return 0;
}
我的问题是它只打印出 1 个字母,而它应该打印整个字符串。我将衷心感谢您的帮助!再次感谢您帮助我。
【问题讨论】:
-
size = strlen(sign2);? -
可以是strlen(sign),好像没什么区别。