永发信息网

c语言的,运行出现乱码

答案:4  悬赏:60  手机版
解决时间 2021-03-09 08:09
#include

int main(){
char str[10][31];int num;int j;int i;
scanf("%d", &num);
for(j = 0; j < num; j++){
scanf("%s", str[j]);
}
for(j = 0; j < num; j++){
for(i = 0; i < 31;i++){
if((str[j][i] != '\0') & (str[j][i] < '0') || (str[j][i] > '9')){
printf("%c", str[j][i]);
}
if(str[j][i] == '\0'){
printf("\n");
break;
}
}
}
return 0;
}

在输出string时,有时候第一个string的第一个字母会变成乱码,求教!!谢谢啦!
最佳答案
if((str[j][i] != '\0') & (str[j][i] < '0') || (str[j][i] > '9'))其中的&是否应该是&&呢?
全部回答
目测是想输出没有数字的字符串 if((str[j][i] != '\0') & (str[j][i] < '0') || (str[j][i] > '9'))改为 if((str[j][i] != '\0') && ((str[j][i] < '0') || (str[j][i] > '9')))
&的优先级高于|| 如果你代码的目的是输出非数字的所有字符 并换行的话 if((str[j][i] != '\0') & ((str[j][i] < '0') || (str[j][i] > '9')) ) 是不是应该这样
fscanf(fp,"%s %d %d %d %s %l %d"........ scanf/fscanf函数的格式转换字符没有l,如果转换字符无效,则函数的行为未定义。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
初中生怎么选择中专学校
赛尔号成就点数中有一个雷霆秒杀?请问是什么
育红幼儿园二部地址在哪,我要去那里办事
抚顺到鲅鱼圈的客车都有几点的?
楼梯梯口梁内侧边沿具体是指离梯段近的那一侧
凯德瑞造型怎么去啊,有知道地址的么
【用终于写一句话】用终于写句子
读书笔记怎么写?举例出10篇。
【有加分】安卓手机,不ROOT怎样把文件写入系
哥哥有100元钱,弟弟有80元,哥哥给弟弟多少钱
ds.Tables[0].Rows.Add();错误提示:“无法找
帕萨特B5冷车启动时发动机发出嘎嘎声是什么故
去哦什么意思
室内贴壁纸墙角的处理。
35分之21=5分之几 3分之2=12分之几 18分之8=9
推荐资讯
君生我未生我生君已老全诗
怎么说服对方的父母接受我?
鸡鸭鱼兔在什么地方啊,我要过去处理事情
发了好人卡给你,又说对你很有爱,
既然已无心,何苦在用心;
QQ发红包时输密码会语音通报是怎么回事???
卡西欧西安东二环百盛在什么地方啊,我要过去
金都批发市场地址有知道的么?有点事想过去
笔记本电脑按了开机键为什么开不了机
life is a story make yours the lest seller
急急急!!手机内存卡格式化后,没内存了变为
邦元名匠衣柜什么板材
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?