如何解决只有 main() 函数在 C 中执行
开始学习 C。main
函数执行良好,但程序完成运行而没有执行第二个函数。我觉得我在 main 的 for 循环中犯了一个错误。
int check_key_length(int count);
int main(void)
{
char key[20];
int count = 0;
printf("Enter key: ");
scanf("%s",key);
for(int i = 0; i < strlen(key); i++)
{
if (key[i] != ' ')
count++;
}
printf("Total number of characters in a string: %d",count);
}
int check_key_length(int count)
{
int set_amount = 26;
if (count < set_amount)
printf("Error: Your key is too short! Please input 26 chars\n");
else if (count > set_amount)
printf("Error: Your key is too long! Please input 26 chars\n");
else
string message = get_string("Enter string to encrypt: ");
return 0;
}
解决方法
您转发声明了您的函数,为其提供了定义,但是您需要在主程序中调用该函数以让您的机器执行它,像这样按预期调用您的函数
#include <stdio.h>
#include <string.h>
int check_key_length(int count);
int main(void)
{
char key[27];
int count = 0;
int strLength;
do {
printf("Enter key: ");
scanf("%s",key);
strLength = strlen(key);
} while(check_key_length(strLength) != 0);
for(int i = 0; i < strLength; i++)
{
if (key[i] != ' ')
{
count++;
}
}
printf("Total number of characters in a string: %d\n",count);
return 0;
}
int check_key_length(int count)
{
int set_amount = 26;
if (count < set_amount)
{
printf("Error: Your key is too short! Please input 26 chars\n");
return -1;
}
else if (count > set_amount)
{
printf("Error: Your key is too long! Please input 26 chars\n");
return -2;
}
else
{
return 0;
}
}
注意我必须稍微修改代码才能在没有任何警告或错误的情况下构建它,我可能以您不期望的方式更改了行为,因此请在粘贴之前检查我的代码
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。