gpt4 book ai didi

c - C 字符串中的空格?

转载 作者:太空宇宙 更新时间:2023-11-04 06:28:15 24 4
gpt4 key购买 nike

我在学习用 C 语言编程时遇到了一个问题。我正在创建一个程序来将文本翻译成“rövarspråket”(您不需要理解它是什么来理解我的问题)。如果我只插入一个单词,该程序运行良好,但当我添加一个空格时,它就停止生成输出。下面是示例:

如果我插入“hello world”,我希望输出是“hohelollolo wowororloldod”,但它输出的是“hohelollolo♀”。这是代码:

int main(){

char inputText[100], outputText[300];
int inputLength, ipTextNum, opTextNum;

scanf("%s", &inputText);
inputLength = strlen(inputText);

for(ipTextNum = 0; ipTextNum < inputLength; ipTextNum++){

if(inputText[ipTextNum] == 'a' || inputText[ipTextNum] == 'e' || inputText[ipTextNum] == 'i' || inputText[ipTextNum] == 'o' || inputText[ipTextNum] == 'u' || inputText[ipTextNum] == 'y' || inputText[ipTextNum] == 'å' || inputText[ipTextNum] == 'ä' || inputText[ipTextNum] == 'ö'){
outputText[opTextNum] = inputText[ipTextNum];
opTextNum++;
}

else {
outputText[opTextNum] = inputText[ipTextNum];
outputText[opTextNum+1] = 'o';
outputText[opTextNum+2] = inputText[ipTextNum];
opTextNum += 3;
}
}

printf("%s", outputText);


return 0;
}

如果我也将 inputText[ipTextNum] == ' ' 添加到 if 语句,它输出与以前相同的内容,但没有 ♀。有谁知道问题可能出在哪里?我试图打印输入,但似乎空格后的所有文本也在那里终止。字符串中甚至允许使用空格吗?如果不允许,我该如何解决这个问题?

最佳答案

问题在这里:

scanf("%s", &inputText);

实际上有两个问题。我假设您希望它读取整行,所以我们不使用 %s,我们使用“除\n 之外的所有字符”,然后读取\n。另一个问题是 &inputText。

scanf("%s", inputText);

它应该是这样的..但是这增加了整行。

scanf("%[^\n]\n", inputText);

继续对其进行解析,只要您不溢出即可!

关于c - C 字符串中的空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23451546/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com