A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

跟着视频敲的代码,但是运行结果一直是错误的,检查好多遍也找不到错误,摆脱大家了,帮我看看问题出在哪里

  1. int main(int argc, const char * argv[]) {
  2.     char str[100];
  3.     int word = 0,count=0;
  4.     printf("Input some words with lower case:\n");
  5.     gets(str);
  6.     for (int i = 0; str[i] != '\0'; i++) {
  7.         if (str[i] == ' ') {
  8.             word = 0;
  9.         }else if (word == 0){
  10.             count++;
  11.             str[i] = str[i]-32;
  12.             word = 1;
  13.         }
  14.     }
  15.     puts(str);
  16.     return 0;
  17. }
复制代码

6 个回复

正序浏览
发现原因了,因为Mac自带的中文输入法切换到大写的时候会输出英文,但是在Xcode控制台里面,虽然显示的是小写字母,但是实际上输入的是大写。这个程序没有检查第一个输入的字母是否为大写,所以如果输入的是大写,就会出现上述错误
回复 使用道具 举报
有导入头文件string.h吗?
回复 使用道具 举报
在我的电脑上运行没有任何问题
回复 使用道具 举报
输入aa sss
输出结果是!A 3SS
回复 使用道具 举报
XiaoBaoMi 发表于 2015-6-28 15:47
代码没问题 你电脑有问题了

啊?不会吧,运行其他程序都没有问题啊。。。。
回复 使用道具 举报
代码没问题 你电脑有问题了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马