这个C程序有什么问题吗?

Pra*_*kar 0 c

它应该给我输入用户输入的数量.但它给了100.我用gcc编译.

#include <stdio.h>

int arr[100];
int count=0;
int max=100;


int main(){
 int i, input;
 printf("Enter integer values one by one, q to quit.\n");
 for(i=0;i<max;i++){
  scanf("%d",&input);
  arr[i]=input;
  if(input=='q')break;
  count++;
 }
 printf("You entered %d values.\n",count);
 return 0;
}
Run Code Online (Sandbox Code Playgroud)

小智 5

如果您正在读取数字变量,它实际上不能具有值'q',因此您的测试将无效.如果你想编写这样的代码,你应该将用户输入读入字符串,检查字符串是否包含"q",如果没有将其转换为整数.

  • 也许你应该输入113退出 (4认同)