当我在一个函数中调用一个函数时,它跳过代码并终止程序?

时间:2015-10-01 19:42:23

标签: c++ function gcc udf

这是一个很大的计划。我剥离了不必要的代码。我只留下了一个关键功能

当我在任何函数中调用ss();时,该函数将控制权交还给main()而不接受字符串。 如果我不使用函数接受字符串,代码可以工作。我发现它没有任何问题。

#include<iostream>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<ctype.h>
void ss();
void casechange();
using namespace std;
char str[100];
int main (){
int choice;

cout<<"Make a choice"<<endl; 
cout<<"Press 1 to change the case of alphabets"<<endl;
cout<<"Press 2 to count number of vowels"<<endl;
cout<<"Press 3 to check if entered string is a palindrome or not"<<endl;
cout<<"Press 4 to reverse a string"<<endl;
cout<<"Press 5 to count number of words"<<endl;
cin>>choice;
switch(choice){
case 1: casechange();
    break; 
case 2: vowelcount();
        break;
case 3:pal();
    break;
case 4: rev();
    break;
case 5: wordcount();
    break;
default: cout<<"Wrong choice"<<endl;
 }
 return 0;
}
void casechange(){
ss();
for(int i=0;str[i]!='\0';i++)
 {
 if(isupper(str[i]))
 str[i]=tolower(str[i]);
 else str[i]=toupper(str[i]);
 }
 puts(str);
}
void ss()
{
cout<<"Enter a string"<<endl;
 gets(str);
}

P.S。我正在使用代码块。我想是gcc编译器。

1 个答案:

答案 0 :(得分:0)

您要求用户做出选择。用户输入了一个数字 var redbox = document.getElementById('red_box'); var height = redbox.clientHeight; redbox.style.maxHeight = "0px"; 。然后你读了一个字符。 enter仍然坐在缓冲区里。说到enter,它会将其读作空字符串。

另请注意有关IO,gets等的所有评论。