我刚刚开始使用 C 语言进行编程,并且正在编写一个密码/解密程序。要求用户输入存储为 char * 的短语。问题是程序只存储字符串的第一个单词,然后忽略它之后的所有内容。这是获取字符串然后对其进行分析的代码部分
int maincalc(int k) //The Calculation Function for Cyphering
{
char *s;
s=(char*) malloc(sizeof(100));
printf("Please enter the phrase that you would like to code: ");
fscanf(stdin,"%s %99[^\n]", s);
int i=0;
int n=strlen(s);
while(i<n)
{
if(s[i]>=65&&s[i]<=90) //For Uppercase letters
{
int u=s[i];
int c=uppercalc(u,k);
printf("%c",c);
}
else if(s[i]>=97&&s[i]<=122) //For Lowercase letters
{
int u=s[i];
int c=lowercalc(u,k);
printf("%c",c);
}
else
printf("%c",s[i]); //For non letters
i++;
}
free(s);
printf("\n");
return 0;
}
只需要知道如何让程序确认整个字符串的存在,而不仅仅是第一个单词。谢谢