如何在符号中定义变量char?
how to define a variable char in symbols?
我正在使用 C 语言工作(我真的是编码的初学者),我想编写一个函数,让我可以将我在提示中写的文本翻译成莫尔斯码。所以我正在尝试通过将我的变量从 elphabet 的字母定义为相应的莫尔斯电码,但我总是收到多字符警告并且不知道如何继续。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <malloc.h>
//funzione per scrivere codice morse
int main()
{
char a='.-';
printf("%c",a);
return 0;
}
@Barmar 告诉你的是正确的:
char a[] = ".-";`
您还告诉我们您正在尝试定义从字母到摩尔斯电码的映射。这可能是使用 struct
和 lookup
函数来查找每个字母:
#include <stdio.h>
struct map {
char letter;
char *morse;
};
// return morse string for letter, or NULL if not found
const char *lookup(const struct map *m, const char letter) {
for(unsigned i = 0; m[i].letter; i++) {
if(m[i].letter == letter)
return m[i].morse;
}
return NULL;
}
int main() {
struct map m[] = {
{ 'A', (char *) ".-" },
{ 'B', (char *) "-..." },
// ...
{ '[=11=]', NULL }
};
printf("%c => %s\n", 'A', lookup(m, 'A'));
}
一旦您获得更多经验,您可以将 lookup()
函数替换为 lfind()
或者如果地图按字母排序 bsearch()
.
我正在使用 C 语言工作(我真的是编码的初学者),我想编写一个函数,让我可以将我在提示中写的文本翻译成莫尔斯码。所以我正在尝试通过将我的变量从 elphabet 的字母定义为相应的莫尔斯电码,但我总是收到多字符警告并且不知道如何继续。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <malloc.h>
//funzione per scrivere codice morse
int main()
{
char a='.-';
printf("%c",a);
return 0;
}
@Barmar 告诉你的是正确的:
char a[] = ".-";`
您还告诉我们您正在尝试定义从字母到摩尔斯电码的映射。这可能是使用 struct
和 lookup
函数来查找每个字母:
#include <stdio.h>
struct map {
char letter;
char *morse;
};
// return morse string for letter, or NULL if not found
const char *lookup(const struct map *m, const char letter) {
for(unsigned i = 0; m[i].letter; i++) {
if(m[i].letter == letter)
return m[i].morse;
}
return NULL;
}
int main() {
struct map m[] = {
{ 'A', (char *) ".-" },
{ 'B', (char *) "-..." },
// ...
{ '[=11=]', NULL }
};
printf("%c => %s\n", 'A', lookup(m, 'A'));
}
一旦您获得更多经验,您可以将 lookup()
函数替换为 lfind()
或者如果地图按字母排序 bsearch()
.