gpt4 book ai didi

c - 输入后替换字符串中的空格?

转载 作者:行者123 更新时间:2023-11-30 17:15:41 24 4
gpt4 key购买 nike

在下面的代码中,当用户在地址处输入空格时,程序会陷入无限循环?

示例:街道、城镇、城市会使程序崩溃,如何用“,”替换空格?或者至少阻止这种情况发生

printf("\nEnter address:\n");
scanf("%s", newNode->address);
printf("\nEnter department:\n");
scanf("%d", &newNode->depart);
while(validDate == 0){
printf("\nEnter Data Of Join(dd/mm/yy):\n");
if (scanf("%d%*[-/. ]%d%*[-/. ]%d", &newNode->day, &newNode->mounth, &newNode->year) != 3){
printf("Wrong format! Please enter a date and exclude the slashes! eg. 15 01 95");
}
else{
// break the loop
validDate = 1;
}
}// date validation end

最佳答案

尝试

gets() 

而不是 scanf()。当遇到空格字符时,scanf 将停止读取输入。剩余的字符串数据将保留在输入缓冲区中,这可能会导致问题。

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

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