我正在努力完成我在 C 类的第一份家庭作业。目标是针对一个数组,找到所有小写的 E 并将它们转换为大写的 E。
在这里和书中搜索了几个小时后,我尝试了一些变体,但无济于事。对于新手问题,我很抱歉,因为我对此很陌生。
我不允许使用除 printf 和 random_letter 之外的任何函数,所以我发现的大部分内容都不适用。
这是测试程序的代码
include <stdio.h>
void capitalize_e(char s[]);
int main(int argc, char *argv[]) {
char s[] = "The elephant in the room.";
printf("String before capitalizing e's: %s\n", s);
capitalize_e(s);
printf("String after capitalizing e's: %s\n", s);
}
这是我最近的尝试。
#include <stdio.h>
void capitalize_e(char s[], int size) {
int i;
char A = "e";
char B = "E";
for (i=0;i<size; i++) {
if(s[i]==A)
s[i]==B;
}
你需要知道字符串文字呈现的区别""
和''
之间的字符 之间。
s[i]==B
其中双重相等运算符是错误的。它用于判断条件是否为真。
void capitalize_e(char s[], int size)
其中第二个形式参数应该被删除。并且,应该应用 for (i=0; s[i] != '\0' ; i++)
。
我会将您的代码重写为与此类似的内容:
void capitalize_e(char s[], char lowerCaseChar) {
for (size_t i = 0; s[i] ; i++) {
if (s[i] == lowerCaseChar)
s[i] ^= ' ';
}
}
我是一名优秀的程序员,十分优秀!