#include<iostream> #include<cstdio> using namespace std; void calculate(int n); char ch[10000]; int main() { gets(ch); calculate(0); cout<<endl; return 0; } void calculate(int n) { if(ch[n]!='!') calculate(n+1); else return; cout<<ch[n]; }转化成C语言
时间: 2024-03-18 08:38:39 浏览: 46
这段代码已经是 C++ 代码了,如果要转换成 C 语言,需要将其中的 C++ 特有语法转换为 C 语言的语法。同时,由于 C 语言没有提供 `string` 类型,需要用字符数组来替代。以下是转换后的代码:
```c
#include <stdio.h>
#include <string.h>
void calculate(char ch[], int n);
int main() {
char ch[10000];
gets(ch);
calculate(ch, 0);
printf("\n");
return 0;
}
void calculate(char ch[], int n) {
if (ch[n] != '!') {
calculate(ch, n + 1);
} else {
return;
}
printf("%c", ch[n]);
}
```
注意,此处使用了 `gets` 函数来读取输入,但是这个函数已经被标记为不安全,建议使用更安全的函数 `fgets` 来替代。
相关问题
指出下面程序中的错误,说明错误的原因,并进行改正 #include <iostream>using namespace std;class Student {public: char name[10]; int age; float aver; void printStu();};int main() { Student p1,p2,p3; p1.age = 30; return 0;}
该程序存在两个错误,包括:
1. `#include <iostream>using namespace std;` 应改为 `#include <iostream> using namespace std;`
2. `Student p1,p2,p3;` 中的逗号应该为英文逗号,否则编译器将无法正确识别变量声明。应改为 `Student p1, p2, p3;`
改正后的代码如下:
```
#include <iostream>
using namespace std;
class Student {
public:
char name[10];
int age;
float aver;
void printStu();
};
int main() {
Student p1, p2, p3;
p1.age = 30;
return 0;
}
```
阅读全文